使用 C # 创建 Excel 文件

我正在编写一个程序,生成 Excel 报告,目前使用的微软。互联系统。Excel 引用。我的开发计算机上有 Excel,但最终用户可能安装了 Office,也可能没有安装。如果终端用户计算机上没有安装 Office,这个工具会失败吗? 或者这个互操作服务与实际应用程序是分开的吗?

161675 次浏览

除非您在服务器/PC 上安装了 Excel 或者使用了外部工具(不使用 Excel Interop 是可能的,请参阅 从 C # 创建 Excel (. XLS 和. XLSX)文件) ,它会失败的使用互操作需要安装 Excel。

互操作调用其他内容,它是一个互操作性程序集,因此您正在与某些内容进行互操作... ... 在本例中为 Excel,即实际安装的 Excel。

在这种情况下,是的,它将无法运行,因为它的 看情况对 Excel,您只是调用 Excel 函数。如果他们没有安装... 运气不好。

如果2007年的文件格式没问题的话,有一些方法可以不用 Excel 来生成,这里有一些:

正如我所说的,这是 2007年格式,通常情况下,如果有什么,这是交易破坏者。

你可以使用 文件帮助者库中的 ExcelStorage 类,它非常简单易用... 你需要在机器上安装 Excel2000或更高版本。

FileHelpers 是一个免费且易于使用的 使用.NET 库进行导入/导出 固定长度或分隔的数据 文件、字符串或流中的记录。

使用 OleDB,你可以很容易地创建、读取和编辑 excel 文件:

Http://msdn.microsoft.com/en-us/library/aa288452(vs.71).aspx

我曾经使用 OleDB 读取 Excel 文件,我知道您可以创建它们,但是我还没有亲自做过。

如果你有兴趣。Xlsx (Office2007及以后版本)文件,您很幸运。Office2007 + 使用 OpenXML,由于缺乏更贴切的描述,OpenXML 是位于一个名为。谢谢

获取一个 excel 文件(2007 +)并将其重命名为。拉上拉链,你可以打开看看。如果你吸毒的话。NET 3.5,您可以使用 System.IO.Package 库来操作关系和 zipfile 本身,使用 linq to xml 来处理 xml (或者只是 DOM,如果您觉得更舒服的话)。

否则我建议使用 DotNetZip,这是一个用于操作 zipfiles 的强大库。

OpenXMLDeveloper 有很多关于 OpenXML 的资源,你可以在那里找到更多。

如果你愿意的话。Xls (2003及以下版本)你将不得不查看第三方库或者自己学习文件格式,以便在不安装 Excel 的情况下实现这一点。

如果使用 Excel2007,请尝试 EPPlus。支持范围、单元格样式、图表、形状、图片和许多其他东西