Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Python中将Excel工作表保存为HTML?_Python_Html_Vba_Excel - Fatal编程技术网

如何在Python中将Excel工作表保存为HTML?

如何在Python中将Excel工作表保存为HTML?,python,html,vba,excel,Python,Html,Vba,Excel,我在这个图书馆工作 我打开了一本工作簿,在里面写了一些东西() 我仔细阅读了文档,但似乎找不到“另存为”功能 是否有方法(任何方法)将工作簿保存为HTML文件 如果python代码无法实现,我是否可以编写VBA代码并从python调用该代码?也许您可以使用xlrd解析excel文件,然后再转换为html您可以使用win32com.client调用VBA宏。假设您的文件名为Bar VBA: Sub SaveHTML() ThisWorkbook.SaveAs Filename:="C:\Foo\B

我在这个图书馆工作

我打开了一本工作簿,在里面写了一些东西()

我仔细阅读了文档,但似乎找不到“另存为”功能

是否有方法(任何方法)将
工作簿
保存为HTML文件


如果python代码无法实现,我是否可以编写VBA代码并从python调用该代码?

也许您可以使用xlrd解析excel文件,然后再转换为html

您可以使用
win32com.client
调用VBA宏。假设您的文件名为Bar

VBA:

Sub SaveHTML()
ThisWorkbook.SaveAs Filename:="C:\Foo\Bar.htm", FileFormat:=xlHtml
End Sub
from win32com.client import Dispatch

xl = Dispatch('Excel.Application')
xl.Workbooks.Open('C:\Foo\Bar.xlsx')
#xl.Visible = True -- optional
xl.Application.Run("SaveHTML")
xl.Workbooks.Close
Python:

Sub SaveHTML()
ThisWorkbook.SaveAs Filename:="C:\Foo\Bar.htm", FileFormat:=xlHtml
End Sub
from win32com.client import Dispatch

xl = Dispatch('Excel.Application')
xl.Workbooks.Open('C:\Foo\Bar.xlsx')
#xl.Visible = True -- optional
xl.Application.Run("SaveHTML")
xl.Workbooks.Close
根据需要修改


编辑:我忘了添加,使用win32com关闭Excel绝对是一件痛苦的事情。工作簿将关闭,但应用程序本身将停留(请检查任务管理器)。请参阅解决方法。

您可以直接从Python保存到HTML,然后附加到电子邮件:

from win32com.client.gencache import EnsureDispatch
from win32com.client import constants

yourExcelFile = ...
newFileName = ...

xl = EnsureDispatch('Excel.Application')
wb = xl.Workbooks.Open(yourExcelFile)
wb.SaveAs(newFileName, constants.xlHtml)
xl.Workbooks.Close()
xl.Quit()
del xl

如果您想生成HTML,那么为什么要在excel中编写表格数据?为什么不直接使用表格数据生成HTML?@VIKASHJAISWAL,因为我已经花了6个月的时间为我的项目生成excel表格。重新开始可能需要付出不必要的努力。链接已失效。这部分工作正常,我生成了html,但问题是:#1。无法显示电子邮件#2.如何将一张工作表,第一张工作表,而不是工作簿的所有工作表保存为html。