【问题标题】:Best way to read and write Excel with no dependencies on Azure Cloud Service?在不依赖 Azure 云服务的情况下读写 Excel 的最佳方式是什么?
【发布时间】:2016-09-21 18:43:40
【问题描述】:

我想读取和写入扩展名为 .xls 和 .xlsx 的 excel 文件(从任何 Office 版本生成,例如 Office 2003、Office 2016)。

我已经使用 office interop 读写 Excel,它在本地环境中运行良好,但是一旦我托管在 Azure Cloud Service Worker Role 上,它就无法正常工作(需要 office interop 依赖项)。

请建议我在 Azure 环境中不依赖于读写 excel 的最佳方法?

【问题讨论】:

  • 你用过 EPPLus 库吗? epplus.codeplex.com
  • 您是否将 Office 互操作 dll 标记为复制本地?您还需要考虑这些 dll 中的许可要求。

标签: c# excel azure azure-worker-roles azure-cloud-services


【解决方案1】:

您应该使用OpenXMLClosedXML

从以 OpenXML 为基础的 ClosedXML 开始可能是最简单的,并且使许多任务变得更加简单。

如果 ClosedXML 不适用于旧版本,您可以尝试Excel Data Reader

我自己没试过,但是很多人推荐。

不确定是否支持 Office 2003。你必须检查一下。

【讨论】:

  • 谢谢,我已经使用 OpenXml 创建演示和读取文件,ExcelDataReader 都读取 Azure WorkerRole 上的文件。 OpenXml 不读取旧版本,即 .xls 扩展文件。 ExcelDataReader 也适用于旧版本。
【解决方案2】:

我们使用了FreeSpire。它适用于 .xlsx,但对 .xls 有一些限制

编辑:

我们的用例是对 excel 文件进行密码保护。因此,我们使用以下代码实现了这一点:

Workbook book = new Workbook();
book.LoadFromFile(@"E:\Work\Documents\Sample.xlsx");
//Protect Workbook
book.Protect("abc-123");
//Save
book.SaveToFile("Output.xlsx", ExcelVersion.Version2010);

你可以下载dllhere

【讨论】:

  • 通常不鼓励仅链接的答案。请求您添加一些代码示例,展示您如何使用此库。
  • @GauravMantri 感谢您的指出。我已经相应地编辑了我的答案。
  • 谢谢,FreeSprire.XLS 在 Azure 上工作文件,它可以读取新旧版本的 excel。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-02-24
  • 2020-04-07
  • 2017-08-02
  • 2014-09-23
  • 1970-01-01
  • 1970-01-01
  • 2011-04-11
相关资源
最近更新 更多