本帖最后由 wkdxz 于 2022-9-11 12:26 编辑
把之前的代码转为Gui,一个新的练手作,灵感来自:https://www.52pojie.cn/thread-1686588-1-1.html
成品链接:
xls批量转换为xlsx.exe https://www.aliyundrive.com/s/wmAxnU15qdb 提取码: 5gh5
低版本转高版本源码【低转高源码.py】
xls2xlsx 完整源码.7z
(1.01 KB, 下载次数: 145)
顺带做了个 XLSX转XLS工具,反向转,送给需要的兄弟【高转低源码.py】
【反向转】xlsx2xls.7z
(1017 Bytes, 下载次数: 125)
EXE成品: xlsx2xls【高版本转低版本】.exe https://www.aliyundrive.com/s/Mjno4rr535F 提取码: fa63
操作演示:
假装解释一下源码:
导入库:
[Python] 纯文本查看 复制代码 import win32com.client as win32
import os
import PySimpleGUI as sg
转换:
[Python] 纯文本查看 复制代码 def to_xlsx(file_name):
houzhui = '.xls'
if os.path.splitext(file_name)[-1].lower() != houzhui:
print(f'{file_name} 后缀不是 {houzhui}')
return
try:
wb = excel.Workbooks.Open(file_name)
wb.SaveAs(f"{file_name}x", FileFormat=51) #xls format:56
wb.Close()
return f'转换成功:{file_name}'
except Exception as e:
return f'【转换失败】:{file_name}'
GUI:
[Python] 纯文本查看 复制代码 def gui():
layout = [[
sg.Input(key='文件路径'),
sg.FilesBrowse('选择xls文件',
file_types=(("xls文件", "*.xls"), ),
target='文件路径',
key='选择')
],
[
sg.Button('转换',
key='转换',
button_color='red',
enable_events=True),
sg.Button('清空', key='清空', enable_events=True),
sg.Text('', key='提示', text_color='yellow')
]]
window = sg.Window('xls转xlsx工具 - by [url=mailto:wkdxz@52pojie.cn]wkdxz@52pojie.cn[/url]',
layout,
font=('微软雅黑', 12))
while True:
event, values = window.read()
if not event:
break
if event == '转换':
tip = ['【操作完成,转换成功的xlsx文件保存在原目录下】\n']
for i in values['文件路径'].split(';'):
tip.append(to_xlsx(i))
excel.Application.Quit()
window['文件路径'].update('')
sg.popup('\n'.join(tip), font=('微软雅黑', 10))
elif event == '清空':
window['文件路径'].update('')
window.close()
|