从html table中提取出数据通过vb写的activex导入本地

浏览器:

<html>
<object id="haha" classid="clsid:ECF56D19-8014-48A9-BBFD-C61AF40E579C"  >
</object>
<script>
var Main_Tab = null;
var selArray="";
function ini()
{
Main_Tab = ExTable;  //指向固定表
var selArray="";
var array_1 = new Array();
for(var i=0;i<Main_Tab.rows.length;i++)
{  array_1[i]=new Array();
   for(var j=0;j<Main_Tab.rows[i].cells.length;j++)
   array_1[i][j]=Main_Tab.rows[i].cells[j].innerText
 }
alert(array_1);
haha.vivid(array_1);
}
</script>
extract all datas in table
<body οnlοad=ini()>
<table border=1 id="ExTable">
<tr>
<td>标题一</td>
<td>标题二</td>
</tr>
<tr>
<td>tang20</td>
<td>tang21</td>
</tr>
<tr>
<td>tang30</td>
<td>tang31</td>
</tr>
</table>
</body>
</html>

--------------------------------------------------------------------------------------------------------------------------------

vb activex

功能:根据传来的参数在本地建表并且保存表体

Public Sub vivid(temp As String)
'通过前台的javascript传过来的是带有";"的String,用Split函数把string 装到数组中,Join可以把数组串成string
'数组的上限为ubound(数组名)
'将一维数组变成多维数组
Dim str1() As String
str1 = Split(temp, ",")
'vb中for 中的i每个都取到的
 '怎样把一维数组构造成多维数组,为数作为参数传进来
 Dim str2(0 To 2, 0 To 1) As String
 Dim p As Integer
 p = 0
 For k = 0 To 2
 For g = 0 To 1
 str2(k, g) = str1(p)
 p = p + 1
 Next g
 Next k
'vivid2 = str2(1, 1)
'在本地生成表,生成表头
Dim cat As New ADOX.Catalog
Dim rs As New ADODB.Recordset
Dim conn As New ADODB.Connection
Dim i As Integer

' pstr = "Provider=Microsoft.Jet.OLEDB.4.0;"   '不能把这里的4.0改为3.51
pstr = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source=d://tang2.mdb"   '!还要改进,让用户自己选择存在本地的路径

cat.Create pstr  '创建数据库
Dim tbl As New Table
cat.ActiveConnection = pstr
   tbl.Name = "tangdb"  '表的名称
  ' tbl.Columns.Append str2(0, 0), adInteger   '表的第一个字段
   tbl.Columns.Append str2(0, 0), adVarWChar, 8  '表的第二个字段
   tbl.Columns.Append str2(0, 1), adVarWChar, 8 '表的第三个字段
   cat.Tables.Append tbl    '建立数据表
   conn.Open pstr
rs.CursorLocation = adUseClient
rs.Open "tangdb", conn, adOpenKeyset, adLockPessimistic
For g2 = 1 To 2
rs.AddNew    '往表中添加新记录
'插值
For g1 = 0 To 1
rs.Fields(g1).Value = str2(1, g1)
Next g1

rs.Update
rs.MoveNext
Next g2
End Sub
'************************************************************************************************************'

'-----------------------------------------------------------------------------------
'(2)从本地导出程序部分
Public Function test2() As Integer

Dim cnn As ADODB.Connection
Dim rstC As ADODB.Recordset
Set cnn = New ADODB.Connection
Dim temp As String
'改进:让用户自己选择路径
cnn.Open "Provider = Microsoft.Jet.OLEDB.4.0;Data Source=d://firstdb.mdb"

Set rstC = New ADODB.Recordset
With rstC
Set .ActiveConnection = cnn
.CursorLocation = adUseClient
.CursorType = adOpenKeyset
.LockType = adLockOptimistic
'.MaxRecords = 2
.Open "select * from tangdb"
End With
'关键是:怎样把从本地读出的文件中的字段中的值对应的放进html的table中,写成过程
test2 = 1

End Function

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值