我想读取 html 并将其中的几列写入 Excel 表。我目前正在使用宏来执行此操作,但在 VBScript 中需要它。
我想计算合规性检查和 oracle 表的失败发生次数并将其写入 Excel 文档。
示例 html 的全尺寸图像和所需的 Excel 文件结果。
我想读取 html 并将其中的几列写入 Excel 表。我目前正在使用宏来执行此操作,但在 VBScript 中需要它。
我想计算合规性检查和 oracle 表的失败发生次数并将其写入 Excel 文档。
示例 html 的全尺寸图像和所需的 Excel 文件结果。
可以像这样从 VBScript 控制 Excel:
Set xl = CreateObject("Excel.Application")
xl.Visible = True
Set wb = xl.Workbooks.Add
HTML 文件可以解析为 DOM 文档:
Set doc = CreateObject("Msxml2.DOMDocument.6.0")
doc.async = True
doc.load "C:\path\to\your.html"
使用XPath表达式选择所有<td>
元素:
Set td = doc.selectNodes("//tr/td")
此时td
包含<td>
文档中所有元素的集合。您可以像这样处理它们:
numrows = doc.selectNodes("//tr").Length
numcols = td.Length / numrows
row = 0
For i = 0 To td.Length - 1 Step numcols
If td(i).Text = "Fail" Then
row = row + 1
wb.Sheets(1).Cells(row, 1).Value = CDate(Split(td(i+2).Text)(0))
If InStr(td(i+1).Text, "compliance") > 0 Then
wb.Sheets(1).Cells(row, 2).Value = 1
ElseIf InStr(td(i+1).Text, "Oracletable") > 0 Then
wb.Sheets(1).Cells(row, 3).Value = 1
End If
End If
Next
上面将创建一个像这样的表:
2/9/2012 1
2/9/2012 1
2/9/2012 1
.
.
.
然后您可以使用 Excel 的Consolidate
方法来合并数据:
Const xlSum = -4157
wb.Sheets(2).Range("A1").Consolidate _
Array(wb.Sheets(1).Name & "!R1C1:R" & row & "C3"), xlSum
您可以使用任何dom库读取 html 和OpenXML sdk以写入 Excel(2007 格式 - xlsx)。这是否回答了您的问题,或者您是否有特定的问题正在努力解决?
编辑
抱歉,出于某种原因,我以为您正在谈论在 VB.Net 中执行此操作,现在我意识到您已经在 Excel 中了。所以我不清楚你在问什么 - 如何打开 html 文件?如何计算或存储值?
也许发布你到目前为止的脚本,并具体说明什么不起作用。