python excel 07版本转换为03版本
需要安装pywin32模块
pip install pywin32
主程序:
import win32com.client as win32 import os.path import glob class Format(): """用于文件转换的类""" def __init__(self): self.excel = win32.gencache.EnsureDispatch('Excel.Application') def xlsx2xls(self, xlsx_path, xls_path): """ 07版本excel转成03版本,多文件转换 :param xlsx_path: 07路径 :param xls_path: 03路径 :return: """ path_list = glob.glob(xlsx_path + '\\*.xlsx') # 获取文件夹下所有xlsx for file in path_list: filename = os.path.basename(file).replace('.xlsx', '.xls') # 获取文件名 wb = self.excel.Workbooks.Open(file) wb.SaveAs(xls_path + '\\' + filename, FileFormat=56) # xls为56 wb.Close() self.excel.Application.Quit() print('xlsx2xls转换完成') def xlsx2xls_single(self, xlsx_path, xls_path): """ excel 单个文件转换 :param xlsx_path: 07版本 :param xls_path: 03版本 :return:03版本文件路径 """ try: filename = os.path.basename(xlsx_path).replace('.xlsx', '.xls') # 获取文件名 wb = self.excel.Workbooks.Open(xlsx_path) xls_path = os.path.dirname(xlsx_path) xls_path = xls_path.replace('/', '\\') save_path = xls_path+'\\'+filename wb.SaveAs(save_path, FileFormat=56) # xls为56 wb.Close() self.excel.Application.Quit() print('xlsx2xls转换完成') except Exception as e: wb.Close() self.excel.Application.Quit() print(e) return save_path if __name__ == '__main__': test = Format() test.xlsx2xls_single(xlsx_path=r'E:\TestFile\AutoReport_Test\CD\新生成的报告\2020-11-21\311671.xlsx', xls_path=r"E:\TestFile\AutoReport_Test\CD\新生成的报告\2020-11-21")
ps: 该模块使用的路径格式分隔符为“\\”
学以致用,知行合一
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 百万级群聊的设计实践
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升
· 《HelloGitHub》第 107 期
2019-11-21 os模块常用操作