I am trying to save an existing Excel file to HTML in Python using win32com.client. Below is my code and the resulting error message. Any suggestions?
import win32com.client as win32
excel = win32.gencache.EnsureDispatch('Excel.Application')
wb = excel.Workbooks.Open(r'D:\eclipse\test.xlsx')
excel.Visible = True
ws = wb.Worksheets('Sheet1')
ob = wb.PublishObjects.Add(1,'C:\test.html','Sheet1')
ob.Publish(True)
Run Code Online (Sandbox Code Playgroud)
With the following Traceback:
Traceback (most recent call last):
File "D:\eclipse\DMS\AGADMS\exceltohtml.py", line 21, in <module>
ob = wb.PublishObjects.Add(1,'C:\test.html')
File "C:\Python34\lib\site-packages\win32com\gen_py\00020813-0000-0000-C000-000000000046x0x1x7\PublishObjects.py", line 37, in Add
, Title)
pywintypes.com_error: (-2147352567, 'Exception occurred.', (0, None, None, None, 0, -2146827284), None)
Run Code Online (Sandbox Code Playgroud)
小智 3
熊猫在这方面非常擅长。
使用 pandas 应该会为你简化这个过程。见下文:
import pandas as pd
wb = pd.read_excel('D:\eclipse\test.xlsx') # This reads in your excel doc as a pandas DataFrame
wb.to_html('C:\test.html') # Export the DataFrame (Excel doc) to an html file
Run Code Online (Sandbox Code Playgroud)
Excel 输入示例:

示例 html 输出:

希望这可以帮助。