Excel网页预览解决方案(python)

三种解决方案
当遇到excel预览的需求时,通常会有三种解决方案:

  • 1.将excel转化为pdf。----这种方式当遇到excel比较大时,会将excel分段截取展示,很影响阅读。
  • 2.后台读取excel内容,返回给前端做渲染。----这种方式只能定义固定模板,并且工作量巨大。
  • 3.将excel转化为html。----这种方式一般采用第三方工具,效果也很不错,本文主要讲解这种方式在python中的实现过程。

解决思路
本文主要是借助了wps的转化功能,通过python来调取wps,从而实现这一转换。

基本环境

1. windows系统(本文仅使用与windows系统)
2. 安装wps office
3. 安装win32com: pip install pypiwin32

核心代码

# 初始化 (不做该操作在多线程时会报错)
pythoncom.CoInitialize()

# 调用wps的com接口
w = win32com.client.gencache.EnsureDispatch('Ket.Application')
# 后台运行,不显示,不警告
w.Visible = 0
w.DisplayAlerts = 0

# 选定file文件
workbook = w.Workbooks.Open(file)
# 另存file文件,44即html格式
workbook.SaveAs(file.split('.')[0], FileFormat=44)
w.Quit()

# 释放资源
pythoncom.CoUninitialize()

com接口相关
这个涉及到vb编程,FileFormat对应的参数值可查阅vba_help中的VBAXL10.CHM,在这里不做深入探讨。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。