如果可能,我需要使用Vb.net从一个excel spreadworbook复制数据到另一个,并将数据放入现有excel电子表格中的正确列。电子表格的列标题匹配,我有几个模板需要放入数据,每个模板中列的顺序不同所以我需要一种在模板中搜索列标题然后将数据复制到那一栏。
使用ADO实现这一目标的最佳方式是什么?
例如,使用“Test1”,“Test2”和数据
列移动此Workbook1中的数据Test1 Test2
1 2
12 23
123 234
进入工作簿2,它具有相同的列名但可以采用不同的顺序:
Test0 Test1 Test1.1 Test2
我需要自动执行此操作,因为我有很多要复制的数据和30-40个工作簿模板来复制数据,模板列的顺序不同,无法移动。
答案 0 :(得分:0)
There are different ways to interface with Excel using .NET.如果您只想使用一个版本的Excel,那么VSTO可能是您最简单的解决方案,否则请使用其他内容。我喜欢使用EXCEL-DNA。
你也可以使用ADO来获取数据,但是把它放在另一个中,我认为你需要上面列出的方法之一(因为你需要引用excel对象)。如果您使用的是Excel 2007及更高版本,您还可以直接访问XML文件并以这种方式对其进行操作(当然,减去xlb)。
您还可以从执行文件创建库并在本地复制它。 See here.
对于标题,只需使用Dictionary(Of String,Integer)或List(Of String)来确定文件的索引是什么。