Excel是电子表格,我们可以直接在里面插入数据。
直接能修改,有时容易对表格数据直接修改而导致错误
所以这里我们利用vba代码ADO来添加数据。
Sub ADOaddnew() Dim Cn, Rs, arr, i As Integer Dim PathStr As String, SQL As String Set Cn = CreateObject("ADODB.Connection") '创建数据连接对象 Set Rs = CreateObject("ADODB.Recordset") '创建记录集对象 PathStr = ThisWorkbook.FullName Select Case Application.Version * 1 '设置连接字符串,根据版本创建连接 Case Is <= 11 strConn = "Provider=Microsoft.Jet.Oledb.4.0;Extended Properties=excel 8.0;Data source=" & PathStr Case Is >= 12 strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & PathStr & ";Extended Properties=""Excel 12.0;HDR=YES"";""" End Select SQL = "Select * From [Sheet10$]" Cn.Open strConn With Rs .Open SQL, Cn, 1, 3 ' .AddNew '添加一个新的记录 '方法1:列字段名称法 .Fields("编号") = Range("A" & Rows.Count).End(xlUp) + 1 '23 '编号 .Fields("商品名称") = "洗衣机" ',商品名称 .Fields("单位") = "台" '单位 .Fields("数量") = 100 ',数量 .Fields("单价") = 2500 ',单价 .Fields("金额") = 250000 '金额 '方法2:列字段索引法(从0开始) ' .Fields(0) = Range("A" & Rows.Count).End(xlUp) + 1 '23 '编号 ' .Fields(1) = "洗衣机" ',商品名称 ' .Fields(2) = "台" '单位 ' .Fields(3) = 100 ',数量 ' .Fields(4) = 2500 ',单价 ' .Fields(5) = 250000 '金额 .Update '保存数据 .Close '关闭记录集 End With Cn.Close '关闭数据连接 Set Rs = Nothing: Set Cn = NothingEnd Sub
添加成功
![16d682ccfe50e4eba610aa8bba1df610.png](https://i-blog.csdnimg.cn/blog_migrate/fb78ccac034c99122d762b7b71b48ce8.jpeg)