将 Excel 工作表中的值列复制到网站中的 HTML 表中
Posted
技术标签:
【中文标题】将 Excel 工作表中的值列复制到网站中的 HTML 表中【英文标题】:Copying columns of values from Excel worksheet to an HTML table in a website 【发布时间】:2017-03-07 19:05:46 【问题描述】:我希望将值从 excel 表复制到 html 表中。如果有人在 Excel 2013 和 Internet Explorer 11 之间有这样做的经验,请告诉我,我可以提供详细信息。谢谢
以下是我尝试自动化填写过程的网站代码的一小部分:
Table and Source Code for Charge Numbers for the Site
这仅显示流程的一部分(收费数字),我们每周有 10 到 25 小时,每天向他们收取相应的小时数(如表格矩阵所示)。
每页有7个charge numbers,Charge Numbers都有name="chargeNo",并且每个框向下增加id名称,如下所示:
'1) id="chargeNo0"
'2) id="chargeNo1"
'3) id="chargeNo2"
'4) id="chargeNo3"
'5) id="chargeNo4"
'6) id="chargeNo5"
'7) id="chargeNo6"
一周中的每一天也有如下设置名称:
Table and Source Code for Hours Charged Each Day
'Saturday: name="hrs0"
'Sunday: name="hrs1"
'Monday: name="hrs2"
'Tuesday: name="hrs3"
'Wed: name="hrs4"
'Thurs: name="hrs5"
'Fri: name="hrs6"
我正在尝试自动化从 Excel 中提取充电时间数组并将它们输入到各自的文本框中的过程。
【问题讨论】:
您好,欢迎来到 ***。请花一些时间阅读帮助页面,尤其是名为"What topics can I ask about here?" 和"What types of questions should I avoid asking?" 的部分。更重要的是,请阅读the Stack Overflow question checklist。您可能还想了解Minimal, Complete, and Verifiable Examples。并包含您正在尝试解决的代码......以便人们可以提供帮助。 您的意思是要将范围转换为 html 表格,以便它可以成为网页的全部或一部分?该网站是否有您希望使用 VBA 填写的表格?这些只是您问题的两种可能含义。如果您包含错误代码,我们可能会猜到您想要什么。 【参考方案1】:此脚本会将 ColumnA 中的元素转换为数组。
Sub MakeArray()
Dim arr As Variant
With ActiveSheet
arr = WorksheetFunction.Transpose(.Range(.[A1], .Cells(Rows.Count, "A").End(xlUp)))
End With
End Sub
Sub MakeString()
Dim s As String
Const DELIMITER = ","
With ActiveSheet
s = Join(WorksheetFunction.Transpose(.Range(.[A1], .Cells(Rows.Count, "A").End(xlUp))), DELIMITER)
End With
End Sub
如果你想将数组传递给 HTML 文本框,试试这个。
Sub CreateArrayAndPassToHTMLTextbox()
Dim ie As Object
Dim arr As Variant
Const DELIMITER = ","
Set ie = CreateObject("InternetExplorer.Application")
ie.Visible = True
ie.navigate "http://home.arcor.de/peter.schleif/SearchForTDelement.html"
While ie.Busy: DoEvents: Wend
With ActiveSheet
arr = WorksheetFunction.Transpose(.Range(.[A1], .Cells(Rows.Count, "A").End(xlUp)))
If Not IsArray(arr) Then arr = Array(arr)
ie.document.getElementById("trackField").Value = Join(arr, DELIMITER)
End With
End Sub
例如,如果您想将数据传递给 ComboBox,试试这个。
Sub passValueToComboBox1()
Dim ie As Object
Dim oHTML_Element As IHTMLElement
Set ie = CreateObject("InternetExplorer.Application")
ie.Visible = True
ie.navigate "http://peterschleif.bplaced.net/excel/combobox/index.php"
While ie.Busy Or ie.readyState <> 4: DoEvents: Wend
Set oHTML_Element = ie.document.getElementsByName("selectedReportClass")(0)
If Not oHTML_Element Is Nothing Then oHTML_Element.Value = "com.db.moap.report.FUBU7"
For Each oHTML_Element In ie.document.getElementsByTagName("input")
If oHTML_Element.Type = "submit" Then oHTML_Element.Click: Exit For
Next
End Sub
【讨论】:
以上是关于将 Excel 工作表中的值列复制到网站中的 HTML 表中的主要内容,如果未能解决你的问题,请参考以下文章