【python办公自动化】openpyxl如何操作xls文件——把xls文件另存为xlsx文件

大憨熊 提交于 2020-10-28 10:18:52

前言

Openpyxl 在处理起excel表格是非常方便的。然而,openpyxl只支持xlsx文件的处理,并不能支持xls文件。又不想换第三方库,又想处理xls文件,于是想了个折中的方法,那就是将xls文件转换成xlsx文件。再用openpyxl进行处理。

代码如下:

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库进行处理。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!