html - 使用 VB.Net 将 Excel 转换为 HTML
问题描述
在 Windows 窗体中,我需要将数据(A 列到 C 列)从 Excel 导出到 HTML。
我正在尝试如下,但在 namedRanges 中获取“未找到类型‘工作表’的公共成员‘NamedaRanges’”。之后无法验证它是否会成功保存 HTML。请帮助解决这个问题。
Private Sub Button_click()
xlSheet=xlWB.Worksheets("Sheet3")
xlSheet.NamedRanges.SetPrintArea
(xlSheet.Cells.GetSubrange
("A1",C1"))
xlSheet.SaveAs(FileName:="C:\Users\
Sample.html",FileFormat:=xlHtml)
End Sub
解决方案
对于非连续范围,您可能必须将其作为连续范围复制到临时工作表并导出
Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click
Const folder = "C:\tmp\"
Const xlFile = "test1.xlsx"
Const htmlfile = "export.html"
Dim xls As New Excel.Application
Dim wb As Workbook
Dim ws As Worksheet, wsHtml As Worksheet
wb = xls.Workbooks.Open(folder & xlFile, False, True) ' no link update , radonly
ws = wb.Worksheets("Sheet3")
' create temp sheet, copy range to it, export and then delete it
wsHtml = wb.Sheets.Add()
ws.Range("A:A,C:C").Copy(wsHtml.Range("A1"))
wsHtml.PageSetup.PrintArea = wsHtml.Columns("A:B").Address
wsHtml.SaveAs(Filename:=folder & htmlfile, FileFormat:=44) ' html
xls.DisplayAlerts = False
wsHtml.Delete()
xls.DisplayAlerts = True
wb.Close(False)
xls.Quit()
MsgBox("Exported to " & folder & htmlfile)
End Sub
推荐阅读
- java - 在 glassfish 上部署时出现异常:ArrayIndexOutOfBoundsException: 9578
- python - 时间序列重采样到 Pandas 中的每周间隔会引发错误
- python - 将索引与列值从一个数据框插入另一个数据框
- c++ - 了解 boost 执行器示例
- reactjs - 在 ReactJS 中初始化状态的不同方法
- html - Laravel 站点在托管后无法正常工作 HTTP 错误 500 无法处理此请求
- regex - 这个不重定向的简单重写规则有什么问题?
- java - 将 XML 响应拆分为页面
- html - 致命错误:未捕获的错误调用未定义的函数 mysql_real_escape_string() HTML/PHPMYADMIN
- arrays - 我得到 ArrayIndexOutOfBoundsException