【发布时间】:2020-03-05 15:42:36
【问题描述】:
我每季度都有一个非常平凡的任务,我需要将 40 个文件从 XLSX 转换为 PDF。我有一些代码可以将一个文件打印为 pdf 但不能打印多页,并且它不能打印多个文件。我想访问该文件夹,打开 .xlsx 并将它们打印为 pdf。
为了更进一步,我的代码没有,我只想打印两张名为:“Page 1”和“Page 2”的工作表
我已经尝试了一个文件,并且可以使用稍微修改的代码。
import os
from win32com import client
xlApp = client.Dispatch("Excel.Application")
source = r"C:\Users\user1\.spyder-py3\QAR"
output = r"C:\Users\user1\.spyder-py3\QAR"
dir_list = os.listdir(source)
os.chdir(source)
for i in range(len(dir_list)):
filename = dir_list[i]
print(filename)
books = xlApp.Workbooks.Open(filename)
for file in range(len(filename)):
ws = books.Worksheets[1]
ws.Visible = 1
ws.ExportAsFixedFormat(0, filename + '\.pdf')
理想情况下,我希望将文件保存为单独的 pdf,包含两张纸,第 1 页和第 2 页。
我可以打开 Excel 文件或将一个 Excel 保存为一页的 pdf,但似乎无法将它们放在一起。
【问题讨论】: