为了账号安全,请及时绑定邮箱和手机立即绑定

使用 VB.Net 将 Excel 转换为 HTML

使用 VB.Net 将 Excel 转换为 HTML

有只小跳蛙 2023-09-25 15:52:24
在 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
查看完整描述

1 回答

?
尚方宝剑之说

TA贡献1788条经验 获得超4个赞

对于非连续范围,您可能必须将其作为连续范围复制到临时工作表并将其导出


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


查看完整回答
反对 回复 2023-09-25
  • 1 回答
  • 0 关注
  • 72 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信