前言
Openpyxl 在处理起excel表格是很是方便的。然而,openpyxl只支持xlsx文件的处理,并不能支持xls文件。又不想换第三方库,又想处理xls文件,因而想了个折中的方法,那就是将xls文件转换成xlsx文件。再用openpyxl进行处理。python
代码以下:
def xls2xlsx(file_name): """ 将xls文件另存为xlsx文件 :param file_name: 要转换的文件路径 :returns: new_excel_file_path 返回新的xlsx文件的路径 """ excel_file_path = file_name import win32com.client excel = win32com.client.gencache.EnsureDispatch('Excel.Application') wb = excel.Workbooks.Open(excel_file_path) new_excel_file_path = r"{old_file_path}x".format(old_file_path=excel_file_path) if os.path.exists(new_excel_file_path): # 先删掉新复制的文件 os.remove(new_excel_file_path) wb.SaveAs(new_excel_file_path, FileFormat=51)# 51 表示的是xlsx格式 wb.Close() excel.Application.Quit() return new_excel_file_path
该函数在调用以后返回新生成的xlsx文件的路径函数
把新生成的文件再用openpyxl库进行处理。ui