Python+win32gui将Excel文件xlsx批量快速转换xls(附完整代码+全注释)

  • 欢迎来到Python办公自动化专栏—Python处理办公问题,解放您的双手

  • ️‍ 博客主页:一晌小贪欢的博客主页

  • 该系列文章专栏:Python办公自动化专栏

  • 文章作者技术和水平有限,如果文中出现错误,希望大家能指正

  • ❤️ 欢迎各位佬关注! ❤️

Python可以利用win32gui批量将xlsx后缀的Excel文件批量转换为后缀xls的Excel文件

首相我们需要安装:win32gui

pip install win32gui

注意事项

待转换文件所在目录: 必须是绝对路径

input_path = "F:\\工具开发\\2023\8月\\xlsx2xls\数据源\\"

转换文件存放目录: 必须是绝对路径

output_path = "F:\\工具开发\\2023\8月\\xlsx2xls\结果\\"

代码部分(全注释)

# -*- coding: utf-8 -*-
'''
@Time    :2023/8/29 17:27
@作者    :一晌小贪欢
@联系    :[email protected]
'''

import win32com.client as win32
import os


def transform_xls(_input_path, _output_path):
    # 需要转换的文件路径
    input_path = _input_path

    # 转换完后输出的路径
    output_path = _output_path

    # 遍历需要转换的文件夹下面所有的文件
    file_list = os.listdir(input_path)

    # 获取遍历完的文件数量
    num = len(file_list)

    # 打印文件数量
    print(num)

    # 遍历文件
    for i in range(num):

        # 将文件和格式分开
        file_name = os.path.splitext(file_list[i])

        # 打印分开后的列表
        print(file_name)

        # 当遍历到的文件格式为'.xlsx'时
        if file_name[1] == '.xlsx':
            # 得到要转换的文件
            transfile1 = input_path + file_list[i]

            # 转换完需要输出的文件
            transfile2 = output_path + file_name[0]

            # 打印要转换的文件
            print('transfile1:' + str(transfile1))

            # 使用win32操作excel
            xlApp = win32.gencache.EnsureDispatch('Excel.Application')

            # 后台运行, 不显示,不警告
            # 不写这个会卡死……注意Python、win32需要保持一致。比如我的都是64位的
            xlApp.Visible = False
            xlApp.DisplayAlerts = False

            # 打开要转换的excel
            xls = xlApp.Workbooks.Open(transfile1)

            # 将需要转换的excel另存为xls格式。 56为xls
            xls.SaveAs(transfile2 + '.xls', FileFormat=56)

            # 关闭excel文件
            xls.Close()

            # 退出进程
            xlApp.Application.Quit()


if __name__ == '__main__':
    # 待转换文件所在目录
    input_path = "F:\\工具开发\\2023\8月\\xlsx2xls\数据源\\"

    # 转换文件存放目录
    output_path = "F:\\工具开发\\2023\8月\\xlsx2xls\结果\\"

    transform_xls(input_path, output_path)

除此专栏还有很多关于Excel的相关操作欢迎,订阅!

该系列文章专栏:Python办公自动化专栏

Python+win32gui将Excel文件xlsx批量快速转换xls(附完整代码+全注释)_第1张图片Python+win32gui将Excel文件xlsx批量快速转换xls(附完整代码+全注释)_第2张图片

希望对大家有帮助

致力于办公自动化的小小程序员一枚#

都看到这了,关注+点赞+收藏=不迷路!!

如果你想知道更多关于Python办公自动化的知识各位大佬给个关注吧!

你可能感兴趣的:(python,excel,windows)