在64位环境中使用Excel

我想要打开一个Excel文件并更新特定工作表中的特定单元格。例如,更新Book1单元格A1 ,更新Book2 B3以及…

什么是最好的方式做到这一点在64位窗口?

目前我用OWC11做这个,并改变IIS 7并设置Enable 32-bit Applicationstrue ,并且它工作正常。 出于某种原因,我无法将Enable 32-bit Applicationstrue ,并将其更改为False我的程序不起作用

谢谢

MS不支持Office Interop在服务器场景中(如使用ASP.NET / IIS中的Excel) 。

在服务器上没有Interop /安装Excel的情况下,有很多选项可以读取/编辑/创buildExcel文件:

MS提供免费的OpenXML SDK V 2.0 – 请参阅http://msdn.microsoft.com/zh-cn/library/bb448854%28office.14%29.aspx (仅限XLSX)

这可以读取+写入所有MS Office文件(包括Excel)。

另一个免费的选项见http://www.codeproject.com/KB/office/OpenXML.aspx (仅限XLSX)

如果您需要处理较旧的Excel版本(如XLS,而不仅仅是XLSX),渲染,创buildPDF,公式等,那么您可能需要更多的免费和商业库,如ClosedXML (免费,仅限XLSX), EPPlus (免费,仅限XLSX) , Aspose.Cells , SpreadsheetGear , LibXL和Flexcel等。

您可以安装64位版本的Excel并使用64位版本的COM库。 只要记住,你可以一次只引用其中的一个(32位或64位),除非你想在代码中做一些额外的动作,比如dynamic加载引用。