如何从不同的Excel文件join数据
我有3个Excel文件来操作,我想生成一个基于它们的Excel文件。 我需要将第一个文件的第三列与第二个和第三个Excel文件的第一列一起join。 在C#中最好的方法是什么?
信不信由你,你可能没有一个大项目在你手上。 如果您使用Microsoft.Ace.OleDb
提供程序连接到您的Excel,您将成功通过。 选中此项要创build一个新文件,我们只需在连接string中提供一个不存在的文件的名称。 这将创build一个新的文件。
所以,你可以用上面的提供者创build和读取Excel文件。 这很薄,不像interop
,可以安全地在服务器上使用,比如web服务器。
既然你知道如何使用你的提供者(它就像DB一样),下面的逻辑就是 – 如何连接数据
- 将每个表单读入一个
DataSet
的单个DataTable
- 创build数据表之间的关系
- 发行joinselect
- 将结果行集合写入新的Excel文件(上面的链接解释了使用提供者创build文件和结构的过程)
如果您使用OpenXML文件(.xlsx),则可以使用Microsoft OpenXML SDK。 它是一个库,允许您打开或创build.docx,.pptx和.xlsx文件: https : //msdn.microsoft.com/en-us/library/office/bb448854.aspx
否则,您可以使用C#自动化Excel: https : //support.microsoft.com/en-us/kb/302084