簡體   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