标签:python excel excel-vba vba html
我正在使用这个库XlsxWriter.
我打开了一本工作簿并写了一些东西(considering the official example) –
import xlsxwriter
# Create a workbook and add a worksheet.
workbook = xlsxwriter.Workbook('Expenses01.xlsx')
worksheet = workbook.add_worksheet()
# Some data we want to write to the worksheet.
expenses = (
['Rent', 1000],
['Gas', 100],
['Food', 300],
['Gym', 50],
)
# Start from the first cell. Rows and columns are zero indexed.
row = 0
col = 0
# Iterate over the data and write it out row by row.
for item, cost in (expenses):
worksheet.write(row, col, item)
worksheet.write(row, col + 1, cost)
row += 1
# Write a total using a formula.
worksheet.write(row, 0, 'Total')
worksheet.write(row, 1, '=SUM(B1:B4)')
workbook.close()
我已经严格审阅了文档,但似乎无法将保存视为功能.
有没有办法(任何方式)将工作簿保存为HTML文件?
如果不能从python代码,我可以以某种方式编写VBA代码并从python调用该代码?
解决方法:
您可以使用win32com.client来调用VBA宏.假设您的文件名为Bar …
VBA:
Sub SaveHTML()
ThisWorkbook.SaveAs Filename:="C:\Foo\Bar.htm", FileFormat:=xlHtml
End Sub
Python:
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是一个绝对的痛苦.工作簿将关闭,但应用程序本身将停留(检查任务管理器).有关此问题的解决方法,请参阅this SO post.
标签:python,excel,excel-vba,vba,html 来源: https://codeday.me/bug/20190612/1227382.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。