我正在使用EPPlus库来创建电子表格(报告)。在我的应用程序中,每个新文档首先打开一个旧报告以获取以前的结果。问题是从包含公式的单元格中获取数据 - unfortunately EPPlus doesn't have a calculating engine。为了使其工作,我需要在Excel中打开旧报表,保存更改(计算公式),然后正确创建新报表。如果我不这样做,则公式单元格中的值为空白。
答案 0 :(得分:4)
EPPlus可以从版本4计算公式。请参阅本页 - https://epplus.codeplex.com/wikipage?title=About%20Formula%20calculation&referringTitle=Documentation
答案 1 :(得分:1)
http://www.microsoft.com/en-us/download/details.aspx?id=5124
OpenXML就是我无法访问Office时使用的....你可以使用它来构建办公文档而不需要在你的机器上使用Office ....对我来说有一个学习曲线和大量的谷歌搜索把事情搞清楚。
我仍然不知道它的所有细节,但它适用于我需要做的事情。
答案 2 :(得分:0)
“Microsoft目前不建议也不支持从任何无人参与的非交互式客户端应用程序或组件(包括ASP,ASP.NET,DCOM和NT服务)自动化Microsoft Office应用程序),因为Office在此环境中运行时可能会出现不稳定的行为和/或死锁。“ ...但同时他们提供了很多useful links on OpenXML manipulation - 值得访问。
http://www.spreadsheetgear.com/ - 但价格非常昂贵,999美元/订阅
NPOI(Apache POI的C#端口 - Microsoft文档的Java API)。 Java版本can read calculated values,也许C#版本也可以。
Office Integration Pack - 不知道是否可以计算