如何通过指定工作表名称将Excel对应工作表导出为独立PDF文件
按工作表名称导出PDF的修改方案
win32com 调用 Excel 的 Worksheets 集合时,同时支持「整数序号(从1开始)」和「字符串工作表名称」作为入参,只需调整两处核心逻辑即可实现需求:
- 将原存储工作表序号的列表替换为目标工作表名称列表
- 循环逻辑适配名称取值,同时调整导出的PDF文件名对应工作表名,避免命名冲突
修改后的完整代码如下:
import win32com.client o = win32com.client.Dispatch("Excel.Application") o.Visible = False # Excel文件路径 wb_path = r'C:\tempfile/Sample Invoice.xlsx' # 打开该Excel文件 wb = o.Workbooks.Open(wb_path) # 替换为需要导出的工作表名称列表,名称需要和Excel内完全匹配、区分大小写 ws_name_list = ["Mysheet1", "yoursheet", "hersheet"] for ws_name in ws_name_list: # 导出文件名使用工作表名称命名 path_to_pdf = fr'C:\tempfile/{ws_name}.pdf' # 直接传入工作表名称选取对应工作表 wb.WorkSheets(ws_name).Select() wb.ActiveSheet.ExportAsFixedFormat(0, path_to_pdf) # 新增逻辑:处理完成后关闭Excel进程,避免后台残留 wb.Close(False) o.Quit()
- 注意:如果你的工作表名称包含
/、\、:等路径特殊字符,需要额外做文件名转义处理,避免生成PDF时出现路径报错。
内容的提问来源于stack exchange,提问作者Hary2
相关产品推荐
相关产品推荐

