diff --git "a/demo/poexcel/Excel\350\275\254PDF.py" "b/demo/poexcel/Excel\350\275\254PDF.py" index 49794c9..c8a9f27 100644 --- "a/demo/poexcel/Excel\350\275\254PDF.py" +++ "b/demo/poexcel/Excel\350\275\254PDF.py" @@ -9,5 +9,44 @@ import office +# 假设Excel共有3个工作表,表名分别为 sheet1 sheet2 sheet3 + +# 下列的路径应该是到目录而非文件.excel_path到文件不影响使用.pdf_path到文件实际会多一层目录 +# 例如下面的示例,最终生成的pdf文件路径为 D:\test\程序员晚枫.pdf\程序员晚枫.pdf + +# 转换整个工作簿 office.excel.excel2pdf(excel_path=r"D:\test\程序员晚枫.xlsx", pdf_path=r"D:\test\程序员晚枫.pdf") + +# 仅转换第一个工作表 方法1 +office.excel.excel2pdf(excel_path=r"D:\test\程序员晚枫.xlsx", + pdf_path=r"D:\test\程序员晚枫.pdf", + include=1) + +# 仅转换第一个工作表 方法2 +office.excel.excel2pdf(excel_path=r"D:\test\程序员晚枫.xlsx", + pdf_path=r"D:\test\程序员晚枫.pdf", + exclude=[2, 3]) + +# 仅转换第一个工作表 方法3 +office.excel.excel2pdf(excel_path=r"D:\test\程序员晚枫.xlsx", + pdf_path=r"D:\test\程序员晚枫.pdf", + exclude=["sheet2", "sheet3"] # 这里也可以是 [ 2 , "sheet3"] + ) + +# 仅转换第一和第三个工作表 方法1 +office.excel.excel2pdf(excel_path=r"D:\test\程序员晚枫.xlsx", + pdf_path=r"D:\test\程序员晚枫.pdf", + include=[1, 3]) + +# 仅转换第一和第三个工作表 方法2 +office.excel.excel2pdf(excel_path=r"D:\test\程序员晚枫.xlsx", + pdf_path=r"D:\test\程序员晚枫.pdf", + include=["sheet1", "sheet3"] # 这里也可以是 [ 1 , "sheet3"] + ) + +# 仅转换第一和第三个工作表 方法3 +office.excel.excel2pdf(excel_path=r"D:\test\程序员晚枫.xlsx", + pdf_path=r"D:\test\程序员晚枫.pdf", + exclude=2 + ) diff --git a/office/api/excel.py b/office/api/excel.py index 933ab30..d6d2540 100644 --- a/office/api/excel.py +++ b/office/api/excel.py @@ -70,11 +70,17 @@ def split_excel_by_column(filepath: str, column: int, worksheet_name: str = None @instruction -def excel2pdf(excel_path, pdf_path): +def excel2pdf(excel_path, pdf_path, include: int or str or [int] or [str] or None = None, + exclude: int or str or [int] or [str] or None = None): """ https://blog.csdn.net/qq_57187936/article/details/125605967 + + include: 要包括的工作表,可以为工作表名(str),工作表索引号(int,从1开始),或由上述两者(可以混用)组成的列表,默认为None,当为None时,不生效. + exclude: 要排除的工作表,可以为工作表名(str),工作表索引号(int,从1开始),或由上述两者(可以混用)组成的列表,默认为None,当为None时,不生效. + 详见官方文档: https://docs.xlwings.org/en/latest/api/book.html#xlwings.Book.to_pdf + """ - poexcel.excel2pdf(excel_path, pdf_path) + poexcel.excel2pdf(excel_path, pdf_path, include, exclude) @instruction def merge2excel(excel_path, output='merge2excel.xlsx'):