在64位环境中使用Excel
我想要打开一个Excel文件并更新特定工作表中的特定单元格。例如,更新Book1
单元格A1
,更新Book2
B3
以及…
什么是最好的方式做到这一点在64位窗口?
目前我用OWC11
做这个,并改变IIS 7
并设置Enable 32-bit Applications
为true
,并且它工作正常。 出于某种原因,我无法将Enable 32-bit Applications
为true
,并将其更改为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加载引用。