From 2ee48b48d629bb253746adb6a02fd08e67078d4d Mon Sep 17 00:00:00 2001 From: wyl219 Date: Mon, 6 Nov 2023 01:11:50 +0800 Subject: [PATCH 1/5] Update excel.py --- office/api/excel.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/office/api/excel.py b/office/api/excel.py index 933ab30..9312d30 100644 --- a/office/api/excel.py +++ b/office/api/excel.py @@ -70,11 +70,11 @@ 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,sheet_id: int or list or None = None): """ https://blog.csdn.net/qq_57187936/article/details/125605967 """ - poexcel.excel2pdf(excel_path, pdf_path) + poexcel.excel2pdf(excel_path, pdf_path,sheet_id) @instruction def merge2excel(excel_path, output='merge2excel.xlsx'): From 7fc11d71e74ef6e75bccd8fd5dc6d8b1ab945f27 Mon Sep 17 00:00:00 2001 From: wyl219 Date: Mon, 6 Nov 2023 02:06:08 +0800 Subject: [PATCH 2/5] =?UTF-8?q?=E9=85=8D=E5=90=88poexcel=E4=B8=ADexcel2pdf?= =?UTF-8?q?=E7=9A=84=E4=BF=AE=E6=94=B9=20=E5=A2=9E=E5=8A=A0=E7=A4=BA?= =?UTF-8?q?=E4=BE=8B=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- "demo/poexcel/Excel\350\275\254PDF.py" | 39 ++++++++++++++++++++++++++ office/api/excel.py | 10 +++++-- 2 files changed, 47 insertions(+), 2 deletions(-) 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 9312d30..638bb87 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,sheet_id: int or list or None = None): +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: 要排除的工作表,与include参数类似. + 详见官方文档: https://docs.xlwings.org/en/latest/api/book.html#xlwings.Book.to_pdf + """ - poexcel.excel2pdf(excel_path, pdf_path,sheet_id) + poexcel.excel2pdf(excel_path, pdf_path, include, exclude) @instruction def merge2excel(excel_path, output='merge2excel.xlsx'): From 724ac1c80c7ebd1c85a66fed0421c7a79ad95724 Mon Sep 17 00:00:00 2001 From: wyl219 Date: Mon, 6 Nov 2023 02:11:28 +0800 Subject: [PATCH 3/5] Update excel.py MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 配合poexcel中excel2pdf的修改 增加示例代码 --- office/api/excel.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/office/api/excel.py b/office/api/excel.py index 9312d30..638bb87 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,sheet_id: int or list or None = None): +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: 要排除的工作表,与include参数类似. + 详见官方文档: https://docs.xlwings.org/en/latest/api/book.html#xlwings.Book.to_pdf + """ - poexcel.excel2pdf(excel_path, pdf_path,sheet_id) + poexcel.excel2pdf(excel_path, pdf_path, include, exclude) @instruction def merge2excel(excel_path, output='merge2excel.xlsx'): From 30b0911ef1bd66e52f148fa309f7ceb7df734e75 Mon Sep 17 00:00:00 2001 From: wyl219 Date: Mon, 6 Nov 2023 02:12:02 +0800 Subject: [PATCH 4/5] =?UTF-8?q?Update=20Excel=E8=BD=ACPDF.py?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 配合poexcel中excel2pdf的修改 增加示例代码 --- "demo/poexcel/Excel\350\275\254PDF.py" | 39 ++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) 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 + ) From 8bb0d70c54a6b5af1fcfbc1178ccb082a16b0a2b Mon Sep 17 00:00:00 2001 From: wyl219 Date: Mon, 6 Nov 2023 09:43:06 +0800 Subject: [PATCH 5/5] =?UTF-8?q?=E9=85=8D=E5=90=88poexcel=E4=B8=ADexcel2pdf?= =?UTF-8?q?=E7=9A=84=E4=BF=AE=E6=94=B9=20=E5=A2=9E=E5=8A=A0=E7=A4=BA?= =?UTF-8?q?=E4=BE=8B=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- office/api/excel.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/office/api/excel.py b/office/api/excel.py index 638bb87..d6d2540 100644 --- a/office/api/excel.py +++ b/office/api/excel.py @@ -75,8 +75,8 @@ def excel2pdf(excel_path, pdf_path, include: int or str or [int] or [str] or Non """ https://blog.csdn.net/qq_57187936/article/details/125605967 - include: 要包括的工作表,可以为工作表名(str),工作表索引号(int,从1开始),或由上述两者组成的列表,默认为None,当为None时,不生效. - exclude: 要排除的工作表,与include参数类似. + 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 """