在未安装 Excel 的情况下打开、计算、关闭 MS Excel 电子表格 [EPPlus]

Posted

技术标签:

【中文标题】在未安装 Excel 的情况下打开、计算、关闭 MS Excel 电子表格 [EPPlus]【英文标题】:Opening, calculating, closing MS Excel spreadsheet without Excel installed [EPPlus] 【发布时间】:2011-11-17 10:44:09 【问题描述】:

我正在使用EPPlus 库来创建电子表格(报告)。在我的应用程序中,每个新文档首先打开一个旧报告以获取以前的结果。问题是从包含公式的单元格获取数据时 - unfortunately EPPlus doesn't have a calculating engine。为了使它工作,我需要在 Excel 中打开旧报告,保存更改(计算公式),然后正确创建新报告。如果我不这样做,那么公式单元格中的值是空白的。

    有没有办法模拟(不是手动,而是用代码) 打开,计算,关闭没有excel的excel电子表格 安装? 任何想法如何解决它?

【问题讨论】:

您是否在任何机器上安装了 Excel?如果是这样,您可以考虑使用 Excel 服务:msdn.microsoft.com/en-us/magazine/cc163374.aspx 就是这样,我需要在没有安装 Excel 的情况下在服务器端执行此操作。 【参考方案1】:

EPPlus 可以从版本 4 计算公式。请参阅此页面 - https://epplus.codeplex.com/wikipage?title=About%20Formula%20calculation&referringTitle=Documentation

【讨论】:

【参考方案2】:

http://www.microsoft.com/en-us/download/details.aspx?id=5124

OpenXML 是我在无法访问 Office 时使用的......弄清楚事情。

我仍然不知道它的所有细节,但它对我需要做的事情有效。

【讨论】:

【参考方案3】:

    “微软目前不推荐也不支持任何无人值守、非交互式客户端应用程序或组件(包括 ASP、ASP.NET、DCOM 和 NT 服务)的 Microsoft Office 应用程序自动化),因为在这种环境下运行 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 - 不知道能不能算出来

【讨论】:

以上是关于在未安装 Excel 的情况下打开、计算、关闭 MS Excel 电子表格 [EPPlus]的主要内容,如果未能解决你的问题,请参考以下文章

在未连接智能卡的情况下发送带有 winscard.dll (PC/SC) 的 APDU

Excel文档打开出现这种情况“Microsoft Office Excel遇到问题需要关闭,我们对此引起的不便表示抱歉”

server 2003 取消“已经在未计划的关机后重启”

如何在未安装 Git 的情况下应用“git diff”补丁?

我需要在未插入计算机的情况下调试我的 Android 应用程序

在未安装 chrome 的情况下启动基于 selenium 的独立 exe