Excel是工作中最常用的数据处理工具,没有之一,从技术大厂资深程序员到生产车间业务员,每天都在处理大量的Excel表格,可是很少有人真的精通Excel,连vlookup、多表拼接、格式转化这样的批处理任务都很难搞定,只能手工一个个的点击。

不要说什么VBA,我敢断言用Excel的人中,可能95%都不知道什么是宏,更不要提VBA编程了。
基于日常用Excel遇到的批量处理问题,我专门用streamlit写了一个Excel批处理应用-SmartExcel,直接拖拉拽就可以处理多表拼接、关联、聚合、转换等任务,非常简单。

该工具有以下几个核心功能:
-
据表拼接
支持自动拼接多个Excel表格,并导出新表格。 -
数据关联
支持按关键字段对多个Excel进行关联,并导出新表格。 -
Sheet合并和拆分
支持合并多个表格的Sheet,或者将单个表格多个sheet合并为一个Excel。 -
Excel和CSV格式互转
支持多个Excel表格和CSV表格进行格式互转。 -
Excel和PDF格式互转
支持多个Excel表格和PDF进行格式互转。
比如进行多表拼接,只需要上传要拼接的多个Excel表(表头需一致),然后点击转换就可以。

该应用会进行结构一致检查,没问题就会执行拼接,并给到结果预览,然后支持下载拼接结果,得到一张拼接好的Excel表。

对于常用的vlookup关联操作,也可以用该应用实现,直接导入需要进行关联的多个Excel表格。

然后自定义多表关联的关键字,执行关联,就能得到结果表。


这个应用是基于Python Streamlit进行搭建的,交互比较友好,处理速度也比较快,比如说100张Excel表进行拼接,可能也就一分钟就能处理好。
怎么安装SmartExcel呢?
目前只有通过Python安装,可以在Github下载安装文件,然后配置好依赖库就可以。
有4个依赖库,分别是:
streamlit==1.29.0
pandas==1.5.3
openpyxl==3.1.2
pdfplumber==0.10.2
Github地址:
https://github.com/zhuweijun1003-source/SmartExcel

除了刚讲到的多表拼接和关联功能外,还可以实现以下批量操作。
多文件的Sheet合并,导入多个Excel后,它会把所有Excel的所有Sheet合并到一张Excel中。

单文件的Sheet拆分,导入单个Excel后,它会把该Excel的n个Sheet拆分到n张Excel中。

多个Excel文件批量转为CSV格式,导入多个Excel文件,批量转化后,就会得到内容相同的CSV文件,不同的sheet会单独导出一个CSV文件。



多个CSV文件批量转为Excel格式,导入多个CSV文件,执行批量转化后,就会得到内容相同的Excel文件。

Excel批量转为PDF文件,导入多个Excel文件,它会把所有Excel的所有sheet都转为PDF文件,并且每个PDF都会以sheet命名。



转化的PDF效果如下。

从PDF文件批量提取Excel表格,导入PDF文件,它会自动识别该PDF中的所有表格,并导出为Excel文件。
目前仅支持文本PDF,且对Excel转PDF的文件提取精度较高,其他文件比如word、ppt中的表格可能会出现误提取,后续会逐步优化。



提取效果如下:

以上就是SmartExcel的主要功能,测试下来速度比较快,也比较稳定,如果你日常处理Excel比较多,可以用它作为辅助工具。
SmartExcel是完全离线基于本地电脑使用的,不用担心数据安装,而且是浏览器web应用,只要搭建python环境就可以用,不需要管理员权限安装,比较方便。
后续我会在github持续维护更多的Excel批处理功能,大家可以提提建议。
Github地址:
https://github.com/zhuweijun1003-source/SmartExcel
355

被折叠的 条评论
为什么被折叠?



