繁体   English   中英

MS Access / VB.Net - 如何将Excel工作表数据中的行插入MS Access表?

[英]MS Access/VB.Net - how can I insert rows from an Excel sheet data into MS Access table?

我的程序是用VB.NET编写的,我有一个excel表,只有一列,列的类型是Text。 现在我想将所有excel表的行添加到MS Access表中。

我的Access表有5列,我必须为其余字段提供一些静态数据。 我不能让他们空着,因为我的桌子结构不允许我让他们空着。 他们是强制性的。

我的算法以这种方式工作

  • 将Excel工作表数据读入DataTable
  • 循环到DataTable的所有行的末尾
  • 附加每个单元格的文本和一些静态信息以生成查询字符串

     INSERT into TableName(c1,c2,c3) values (v1,v2,v3), (v1,v2,v3), (v1,v2,v3), (v1,v2,v3) ... ... (n1,n2,n3); 
  • 执行此查询

但是我在这个查询中遇到错误,有什么建议吗?

您可以针对连接运行SQL以直接与Access和Excel交互。 例如,使用连接:

Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Z:\Test.xlsm;
Extended Properties="Excel 12.0 xml;HDR=Yes;";

或喷射

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Z:\Test.xls;
Extended Properties="Excel 8.0;HDR=Yes;";

您可以运行以下SQL:

INSERT INTO [;DATABASE=Z:\Docs\Test.accdb].Table1 (ID,Atext) 
SELECT ID, AText FROM [Sheet7$] 

或喷射

INSERT INTO [;DATABASE=Z:\Docs\Test.mdb].Table1 (ID,Atext) 
SELECT ID, AText FROM [Sheet7$] 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM