如何从不同的Excel文件join数据

我有3个Excel文件来操作,我想生成一个基于它们的Excel文件。 我需要将第一个文件的第三列与第二个和第三个Excel文件的第一列一起join。 在C#中最好的方法是什么?

信不信由你,你可能没有一个大项目在你手上。 如果您使用Microsoft.Ace.OleDb提供程序连接到您的Excel,您将成功通过。 选中此项要创build一个新文件,我们只需在连接string中提供一个不存在的文件的名称。 这将创build一个新的文件。

所以,你可以用上面的提供者创build和读取Excel文件。 这很薄,不像interop ,可以安全地在服务器上使用,比如web服务器。

既然你知道如何使用你的提供者(它就像DB一样),下面的逻辑就是 – 如何连接数据

  1. 将每个表单读入一个DataSet的单个DataTable
  2. 创build数据表之间的关系
  3. 发行joinselect
  4. 将结果行集合写入新的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