我需要一个独立的 .net dll 来实时处理 openxml 电子表格公式

发布于 2024-12-27 22:45:22 字数 280 浏览 1 评论 0原文

我正在编写一个应用程序,该应用程序将驻留在我无法访问的服务器上。
我的任务是构建一个 Web 界面,该界面将封装一些基于 Excel 电子表格的广泛(200 多个公式)逻辑。
我将无法在此服务器上安装任何软件。
我不想用 C# 重新编码所有公式。
我想要的是使用一个独立的 dll,它允许我打开 OpenXML 格式的电子表格文件,更改输入单元格值,然后从包含已在新数据上运行的公式的单元格中提取最终值。
除了 Excel 互操作(需要安装 Excel)之外,还有什么可以真正实时计算公式吗?

I am writing an application that will live on a server I will not have access to.
My task is to build a web interface that will encapsulate some EXTENSIVE (200+ formulas) logic based in an Excel spreadsheet.
I will not be able to install any software on this server.
I do not want to recode all the formulas in C#.
What I would like is to use a standalone dll that will allow me to open an OpenXML formatted spreadsheet file, change the input cell values, and then extract the end values from cells containing formulas which have run on the new data.
Is there anything out there other than Excel interop (which requires Excel be installed) that will actually compute the formulas realtime?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

何必那么矫情 2025-01-03 22:45:22

由于您想要使用 OpenXML 文件,因此可以使用 OpenXML SDK 2.0,可在此处获取:http://www.microsoft.com/download/en/details.aspx?id=5124。您应该将其安装在您的开发环境中,它可以帮助您读取和修改 .NET 应用程序中 OpenXML 文件的内容。

我还没有尝试使用此 SDK 来处理公式,但我认为这是可能的,但是,它可能需要一些工作(例如编写解析器)来使用您的程序重新计算公式。
不过,有一个解决方法,但我不确定您是否可以接受。您可以让 Excel 在用户打开文件时重新计算所有公式。您可以在这里找到一些相关信息:OpenXML SDK:制作 Excel 重新计算公式

我还建议您使用 OpenXML SDK 2.0。 Productivity Tool,它是SDK的一部分。它允许您查看 OpenXML 文件的内容,甚至向您显示以编程方式重新创建该文件所需的 C# 代码,因此它非常有用。

Since you want to work with OpenXML files, you can use OpenXML SDK 2.0, which is available here: http://www.microsoft.com/download/en/details.aspx?id=5124. You should install it on your developer environment and it helps you to read and modify contents of OpenXML files in your .NET application.

I haven't tried to work with formulas using this SDK, but I suppose it's possible, however, it may require some work (like writing a parser) to recalculate the formulas with you program.
There is, however, a workaround for this, but I'm not sure if it's acceptable for you. You can make Excel reevaluate all the formulas itself when the file is opened by a user. You can find some information about it here: OpenXML SDK: Make Excel recalculate formula.

I also recommend you to use OpenXML SDK 2.0. Productivity Tool, which is a part of the SDK. It allows you to view the contents of an OpenXML file and even show you the c# code required to recreate it programmatically, so it can be really helpful.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文