从html table中提取出数据通过vb写的activex导入本地
2005-06-16 23:23
627 查看
浏览器:
<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 onload=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
<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 onload=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
相关文章推荐
- 通过VB写的ACTIVEX向本地文件中写数据
- Android使用webview控件加载本地html,通过Js与后台Java实现数据的传递
- 使用Java将PDF解析成HTML页面进行展示并从页面中提取Json数据设置到Table中
- 通过SP调用FSO直接把DB中table数据导入Excel
- 通过数据泵方式备份每月发送数据、并导入本地库
- .net中 网页抓取数据(提取html中的数据,提取table中的数据)
- [转]Greenplum 通过gpfdist + EXTERNAL TABLE 并行导入数据
- 通过本地上传工具把CSV文件导入到百会报表
- listview显示数据,类似HTML那样的table显示。横屏可以拖拉。
- 关于MySQL数据库数据通过.sql文件导入数据出错的问题
- XML与HTML类似,可通过DOM,把XML视为节点树,来访问XML中的数据
- SQL本地分布式操作远程数据库,可用于实现导入,导出等数据操作功能
- Greenplum中通过外部表进行数据导入导出
- 导入外部数据+SQL语句的办法不支持参数查询,不过可以通过子查询进行模拟
- 在html里面获取到后台的数据(不是通过js)怎样传递到js中
- 游标、获取本地本地多个文件、Excel数据导入、跨服务器数据拷贝、行转列示例
- 用exp/imp把远程数据导入到本地数据库中
- HTML Table 拼凑表格数据并支持滚动条
- 本地数据库通过MySQl-Font导入到某一连接地址的数据库中
- 通过OLEDB将execl的数据导入数据库