我创建了一个ASP.Net
应用程序,它使用excel引用(Microsoft.Office.Interop.Excel, Version=12.0.0.0
)以.xls
格式导出文件。如果托管服务器安装了MS Office,它工作正常。
我的问题是,我想部署我的应用程序,而无需在托管服务器上安装完整的MS Office。我想在我的bin文件夹中复制一些Dll来解决依赖关系。
我在未预安装MS Office的服务器上部署应用程序时出现此错误。
错误:无法加载文件或程序集'office,Version = 12.0.0.0, Culture = neutral,PublicKeyToken = 71e9bce111e9429c'或其中一个 依赖。系统找不到指定的文件。
是否有人遇到过这个问题并找到了解决方法?
由于
答案 0 :(得分:2)
您必须安装Office才能使用互操作库。有关Using Microsoft.office.interop.excel.dll without installing Office
的详细信息,请参阅此处答案 1 :(得分:2)
有许多选项可以在没有Interop的情况下读取/编辑/创建Excel文件:
MS提供免费的OpenXML SDK V 2.0 - 请参阅http://msdn.microsoft.com/en-us/library/bb448854%28office.14%29.aspx(仅限XLSX)
这可以读取+写入MS Office文件(包括Excel)。
另一个免费选项见http://www.codeproject.com/KB/office/OpenXML.aspx(仅限XLSX)
如果你需要更多像处理旧的Excel版本(如XLS,不仅仅是XLSX),渲染,创建PDF,公式等,那么有不同的免费和商业库,如ClosedXML(免费,仅限XLSX), EPPlus(免费,仅限XLSX),Aspose.Cells,SpreadsheetGear,LibXL和Flexcel等。
答案 2 :(得分:1)
我过去曾使用过EPPlus来处理Excel文件:
它将支持Excel 2007和2011而无需安装Excel。支持从Excel读取数据以及将数据写入Excel。附带一些很好的例子。