我想读取html并将其写入Excel表格中的几列。目前我正在使用一个宏来完成它,但在VBScript中需要它。从html读取并写入Excel
我想统计合规性检查和oracle表的失败次数,并将其写入Excel文档。
Full size image示例html和所需的Excel文件结果。
我想读取html并将其写入Excel表格中的几列。目前我正在使用一个宏来完成它,但在VBScript中需要它。从html读取并写入Excel
我想统计合规性检查和oracle表的失败次数,并将其写入Excel文档。
Full size image示例html和所需的Excel文件结果。
你可以使用任何dom库在HTML和OpenXML sdk读写出来到Excel(2007格式 - XLSX)。这是否回答你的问题,还是你有什么具体的事情你正在努力?
编辑
对不起,我以为你在谈论在VB.Net做一些原因,现在我知道你已经在Excel中。所以我不清楚你在问什么 - 如何打开html文件?如何计算或存储值?
也许张贴你到目前为止的脚本,并具体说明什么是不工作。
Excel可以从VBScript来控制这样的:
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
+1对于这个好的和明确的答案 – JMax 2013-03-16 09:49:17