2011-11-14 83 views
0

如果可能,我需要使用Vb.net將數據從一個excel spreadworbook複製到另一個,然後將數據放入現有excel電子表格的正確列中。電子表格的列標題相匹配,我有幾個模板需要放置數據,而且每個模板的列順序都不相同,所以我需要一種在模板中搜索列標題然後將數據複製到該欄。在excel電子表格之間複製/映射數據,Vb.net

使用ADO來達到此目的的最佳方法是?

例如從該Workbook1移動數據的列「的Test1」,「Test2的」和數據

Test1 Test2 
1   2 
12  23 
123  234 

進入工作簿2,將具有相同的列名,但可以在不同的順序:

Test0 Test1 Test1.1 Test2 

我需要自動執行此操作,因爲我有很多要複製的數據和30-40個工作簿模板來複制數據,模板列的順序不同,不能移動。

回答

0

There are different ways to interface with Excel using .NET.如果你只是想用一個版本的Excel來做,那麼VSTO可能是你最簡單的解決方案,否則使用別的東西。我喜歡使用EXCEL-DNA。你也可以使用ADO來獲取數據,但爲了把它放在另一個數據庫中,我想你會需要上面列出的方法之一來做到這一點(因爲你需要引用excel對象)。如果您使用的是Excel 2007及更高版本,則還可以直接訪問XML文件並以這種方式操作它們(當然,不包括xlb)。

您也可以從您的執行文件創建一個庫並將其複製到本地。 See here.

至於頭文件,只需使用字典(字符串,整數)或列表(字符串)來找出文件的索引是什麼。