Excel-服务器端的 DNA 自动化

Excel-DNA automation on server side

我有一个关于 Excel-DNA tools behave when used under server side scenarios. I am fully aware of Office limitation when used in server-side scenarios 如何解决的问题,但我不知道 Excel-DNA 工具是否可以解决这个问题。

我们的应用程序出现了一项新要求,它强制我们读取 xlsb 文件,EPPlus 和 NPOI 都不支持,它为我们的应用程序提供了核心功能。

我计划在服务器上使用 excel-DNA 互操作功能,将 xlsb 转换为更友好的 xlsm 格式,或者直接读取这些文件。

您能否就此可能的解决方案向我提供反馈,或者,如果可能,请提供有关如何读取 xlsb 文件的开源替代方案?


仅供参考: 我们当前的场景是一个 Web 应用程序,它为每个用户接收多个 excel 文件,提供一个允许显示和编辑数据的用户界面,并生成基于 excel 的报告。我们通常每个用户有 30 个文件,每个文件 10-50 MB,并且 10-20 个用户可以同时上传或下载 excel 个文件。

到目前为止,我们一直在使用 EPPlus,后来又使用 NPOI 来支持旧的 xls 文件来完成这些任务。无论如何,新的要求意味着读取 xlsb 文件,EPPlus、NPOI 和我所知道的任何人目前都不支持这些文件。

Excel-DNA 是一个开源库,用于使用 .NET 制作 Excel 加载项。听起来您不需要 Excel 加载项。相反,您只需要使用 COM 对象模型编写与 Excel 对话的脚本或小型应用程序。然后它可以要求 Excel 打开 .xlsb 文件,并 'Save As' 其他格式之一,比如 xlsx。然后你就可以根据.xlsx文件用EPPlus做剩下的处理了。

很难说 Excel 在您的预期负载下的可靠性和性能如何。我可能会建议您找到一种方法来为每次转化启动一个新的 Excel 过程。

EasyXLS 是一个商业选项 - 他们有一个 .NET 库并且似乎支持读写 .xlsb 文件。它看起来适合像您这样的服务器应用程序。

否则创建您自己的(可能是开源的).xlsb 处理器可能是一个有趣的项目。我看到 .xlsb specification 可以从 Microsoft 获得。