Save Excel as HTML in Python

zha*_*ang 7 python excel

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 输出:

希望这可以帮助。