6

我目前正在开发一个与 Excel 互操作一起使用的 C#.net 项目(在 VS2010 中)。不过,在某些时候,我将不得不通过 Mono Develop 将该项目放到我们的 Linux 服务器上。

我听说 Excel 互操作在 Mono 中不起作用。无论如何,我可以使用 Mono 通过代码创建和操作 Excel 文件吗?

非常感谢!

编辑:理想情况下,我想要一种免费的方法,并且仍然能够支持格式化。我真的不需要读权限,只需要写。

4

2 回答 2

2

你真的需要使用 Excel 本身吗?这里的问题不是 Excel 不能与 Mono 一起使用,而是 Excel 不能与 Linux 一起使用。为了在 Linux 上运行 Excel 和相关的 COM 互操作,您可能可以使用Wine做一些 hacky ,但如果您要使用 Linux,我可能会建议完全放弃 Excel。有几个库可用于以更跨平台的方式处理 .xls 和 .xlsx 文件:整个 StackOverflow 问题都致力于在不使用 Excel 互操作的情况下处理 Excel 文件。

现在,如果您要做的不仅仅是创建文件——例如,如果你想使用 Excel 的计算引擎——那么你可能不得不使用 Excel 本身。在这种情况下,我看到三个明确的选项:(a)在 Wine 下运行 Excel(可能还有您的应用程序),并希望它能正常工作,(b)使用 Excel for Mac 并在 OS X 上运行您的服务器,或者(c ) 使用 Windows。我不知道选项 (a) 和 (b) 是否允许正确的 COM 互操作,尽管我希望 Wine 尝试复制所有 COM 并且 Office for Mac 具有某种 API 来代替 COM 互操作。第三种选择可能有两种形式:您可以使用 Windows Server 来运行您的网站,或者您可以将一台机器或 VM 用于 Excel 计算引擎,并从您的 Web 服务器代码的其他部分联系它。

于 2012-08-28T02:21:21.457 回答
0

我用 MOMA 检查了 excelpackage.dll,它没有报告任何警告和错误。不过,这可能适用于未经测试的单声道。它也是免费的 GPL。 http://excelpackage.codeplex.com/

于 2013-02-12T03:38:55.273 回答