将Excel文件合并为一个

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

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

是否有免费的库或示例代码演示了如何将来自多个Excel文档的工作表合并到单个文件中?

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

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

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

这是一个简单的任务,称为批量文件合并(他们有一个称为Excel文件合并的Mac版本)整洁的小程序。 我在几分钟内设法合并了300多个文件。 您也可以合并csv文件,这需要更less的时间。 我们在几秒钟内就超过1300个csv文件。 害怕。

这不是免费的(开发者许可证是425美元),但GemBox有一个非常好的库,比使用办公室对象更快。 一年半以来,我们在当前的项目中使用它,并一直performance良好。

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

对于资源, 此MSDN论坛post演示了打开excel文件和复制工作表。 希望这会让你朝正确的方向发展。

当然,你可以做工具 – >比较 – >合并工作簿。 在Joshua提到的Excel内部,COM Interop库中有合并方法。 如果您需要一些帮助,请告诉我,我在Excel中大量工作,并且可能能够以小额费用帮助您。