将Excel文件合并为一个

时间:2009-05-06 17:49:49

标签: .net excel

我有几百个Excel文件,其中每个文件在第一张纸上都有一些数据。我被要求在C#中编写一个控制台应用程序,它将所有Excel文件合并到一个文档中,同时保留格式。

合并文件是一个工作簿,其中包含合并到文档中的每个文件的工作表。不幸的是,Excel文件是二进制而不是XML格式,因此我无法执行XSL转换。

是否有免费的库或示例代码,演示如何将多个Excel文档中的工作表合并为一个文件?

5 个答案:

答案 0 :(得分:2)

您需要使用Microsoft Excel Interop库。 http://msdn.microsoft.com/en-us/library/microsoft.office.interop.excel.aspx

您应该能够在com选项卡中将引用添加到Microsoft Excel 11对象库。

http://msdn.microsoft.com/en-us/library/ms173186(VS.80).aspx

答案 1 :(得分:2)

对于一个名为Bulk File Merger的简洁程序(他们有一个名为Excel File Merger的Mac版本),这是一个简单的任务。我设法在几分钟内合并了300多个文件。您还可以合并csv文件,这需要更少的时间。我们在几秒钟内就击出了超过1300个csv文件。吓人。

答案 2 :(得分:1)

它不是免费的(开发人员许可证是425美元),但GemBox有一个非常好的库,比使用office对象更快。我们在一年半的时间里在我目前的项目中使用它,它一直表现得非常好。

答案 3 :(得分:0)

查看Visual Studio Tools for Office(VSTO) 您可以在代码中打开工作簿并使用许多excel功能,以及复制工作表,就像您所说的那样。

对于资源,this MSDN forum post演示了打开Excel文件和复制工作表。希望这会让你朝着正确的方向前进。

答案 4 :(得分:-3)

当然你可以做Tool->比较 - >合并工作簿。在Joshua中提到的Excel中,COM Interop库中有合并方法。如果您需要帮助,请告诉我,我在Excel中工作很多,并且可以在很小的费用基础上为您提供帮助。