使用pywin32模块将xls文件批量转为xlsx文件
参考了 https://blog.csdn.net/hongfeng818/article/details/85051544的博客进行了一定的改进。主要优化了相关遍历目录代码和操作步骤。有相关需求或代码调试可联系邮箱。
author:wanghusheng
date:2021/7/31
email:1246529696@qq.com
******可帮助解决各种代码调试,环境配置,日常工作自动化,课程设计,毕业设计指导。******
******有兴趣可联系邮箱。*******
import win32com.client as win32
import os.path
import os
def xlsToxlsx(xls_path,xlsx_path):
for root, dirs, files in os.walk(xls_path, topdown=False):
for name in files:
str = os.path.join(root, name)
if str.split('.')[-1] == 'xls':
print(str)
print(name)
fname = str # 合成需要转换的路径与文件名
fname_tmp = xlsx_path + '\\' + name + 'x' # 合成准备存放转换好的路径与文件名
print(fname_tmp)
excel = win32.gencache.EnsureDispatch('Excel.Application') # 调用win32模块
wb = excel.Workbooks.Open(fname) # 打开需要转换的文件
wb.SaveAs(fname_tmp, FileFormat=51) # 文件另存为xlsx扩展名的文件
wb.Close()
excel.Application.Quit()
if __name__ == '__main__':
xls_path = "你的xls文件目录"
xlsx_path = "存储你新生成xlsx的文件目录"
xlsToxlsx(xls_path,xlsx_path)