Excel批量转PDF:对外发送更友好
点击上方 蓝字关注我吧!
在工作中,有时需要对外发送可直接打印的PDF文件,本文介绍将Excel批量转换为PDF的方法。
单个文件转换
向CodeGeeX提问:如何将一个Excel转换为PDF。
CodeGeeX的反馈如下:要将一个Excel文件转换为PDF文件,你可以使用xlwings库。首先安装xlwings库。确认xlwings库安装完成后,可以使用以下Python代码来将Excel文件转换为PDF文件:
import xlwings as xwexcel_path = r'E:\CODE\sales_data.xlsx'pdf_path = r'E:\CODE\sales_data.pdf'defexcel_to_pdf(excel_path, pdf_path):# 打开Excel文件 app = xw.App(visible=False) wb = app.books.open(excel_path)# 将Excel文件保存为PDF格式 wb.to_pdf(pdf_path)# 关闭Excel文件 wb.close()# 退出Excel应用程序 app.quit()excel_to_pdf(excel_path, pdf_path)
调整文件路径为本地具体路径,运行代码,生成sales_data.pdf文件,打开文件,内容如图所示。

内容为上一篇文章内的数据
多个文件转换
继续提问CodeGeeX:在以上代码的基础上,需要将“r’E:\CODE\excel_date’”路径中的Excel文件全部转为PDF,并保存在该路径中。
GodeGeeX的反馈如下:可以使用os库来遍历指定路径中的所有文件,并使用xlwings库将每个Excel文件转换为PDF文件。以下是一个修改后的示例,参考代码如下:
import osimport xlwings as xwexcel_path = r'E:\CODE\excel_date'defexcel_to_pdf(excel_path, pdf_path): app = xw.App(visible=False) wb = app.books.open(excel_path) wb.to_pdf(pdf_path) wb.close() app.quit()# 遍历文件夹中的所有Excel文件for filename in os.listdir(excel_path):# 检查文件是否是Excel文件if filename.endswith('.xlsx') or filename.endswith('.xls'):# 构建Excel文件的完整路径 excel_path1 = os.path.join(excel_path, filename)# 构建PDF文件的名称和路径 pdf_name = os.path.splitext(filename)[0] + '.pdf' pdf_path = os.path.join(excel_path, pdf_name)# 调用函数将Excel文件转换为PDF文件 excel_to_pdf(excel_path1, pdf_path)
运行代码后,在目录中生成了相应的PDF文件

每个生成的PDF文件的具体内容,如图所示。



下期更新:数据透视表制作:高效助力快分析
夜雨聆风