为了读取 excel 中表格的全部信息,并将其转换为 html 格式,复用了以下实现:
python将excel转html的table标签(含合并单元格)
但其中用到的 openpyxl 仅支持 xlsx 格式的文件,如果给定 xls 会 报错 Not Zip File.
所以需要将 xls 批量转换为 xlsx
如果是 Windows 环境,那么实现起来比较简单,网上有大量使用 pywin32 的参考示例如:
import win32com.client as win32
fname = "full+path+to+xls_file"
excel = win32.gencache.EnsureDispatch('Excel.Application')
wb = excel.Workbooks.Open(fname)
wb.SaveAs(fname+"x", FileFormat = 51) #FileFormat = 51 is for .xlsx extension
wb.Close() #FileFormat = 56 is for .xls extension
excel.Application.Quit()
但在 linux 环境下将不能安装 pywin32, 所以需要用到另一个包
pip install pyexcel pyexcel-xls pyexcel-xlsx
然后
import pyexcel as p
p.save_book_as(file_name='your-file-in.xls',
dest_file_name='your-new-file-out.xlsx')
本文转自 https://zhuanlan.zhihu.com/p/564399585,如有侵权,请联系删除。