Python学习笔记: 将excel xls或xlsx档批次转成pdf档

本文同步发表于小弟自架网站(非钓鱼也无广告,纯分享):

微确幸资讯站

这次来分享将excel xls或xlsx档批次转成pdf档!!

与之前分享的word doc或docx档转成pdf档有点不同的是,
word档用整页模式看的结果,几乎就是pdf转档后的结果。

excel档案因为牵涉到可能有多个工作表,如果没有特别指定,内定是处理存档时打开的工作表。
另外一个要特别注意的是excel页面可能大小不一,
一般没列印需求,可能也没特别设定列印的相关选项,

透过以下的程式虽然可以批次转成excel档,
但pdf会是你原始excel档的列印结果。

所以在批次转档前要先确定列印的页面结果,就是你要的pdf呈现结果。

首先看一下目标资料夹的状况:
http://img2.58codes.com/2024/20122335DVhpWORWXb.jpg

接下来就来用程式处理了:

import osimport win32com.client as win32# 设定目标资料夹file_path = "d:\\temp\\test"# 找出所有doc档做成listfiles = [x for x in os.listdir(file_path) if x.endswith((".xls",".xlsx"))]#print(files)for file in files:    # in_file为要处理的excel档案名称加路径    in_file = os.path.join(file_path, file)        # 处理完的档案,附档名改成pdf    out_file = os.path.join(file_path, os.path.splitext(file)[0] + ".pdf")        print(f'正在处理{in_file}')    print('----------------------')        # excel的档案先查看列印的页面,是否是自己要的分页方式,免得页面被分割    excel = win32.DispatchEx("Excel.Application")    excel.Interactive = False    excel.Visible = False    workbook = excel.Workbooks.Open(in_file, None, True)        workbook.ActiveSheet.ExportAsFixedFormat(0, out_file)   # 0 代表 PDF档      # 移除excel档案(非必要)    #os.remove(in_file)    excel.Quit()print('所有excel档转换pdf档:已完成')

执行结果:
http://img2.58codes.com/2024/20122335CWQJMQaFPn.jpg

目标资料夹处理后的结果:
http://img2.58codes.com/2024/20122335frymoV97gF.jpg

以上即完成本次目标。


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章