【发布时间】:2018-11-07 12:38:13
【问题描述】:
背景
我有一个旧站点,允许授权用户上传产品数据的 Excel 电子表格等。然后该站点读取 Excel 工作表并将数据解压缩到 SQL 服务器中。
这是一个旧网站,它使用 OLE。旧的,但它的工作原理。
问题
我最近将该站点发布到 Azure App Service,但我从 Excel 读取的现有代码部分不起作用(因为 Azure 没有正确的驱动程序)。
问题
我很高兴重写这部分代码,但是使用 Azure 应用服务从 Excel 读取的正确或推荐方法是什么?
我不是在问可能的工作方式,我只对正确的方式感兴趣。
“推荐”是指:
- 没有不必要的复杂。保持简单。
- 将来可能会保留 Microsoft 的支持
我已经研究过这个问题,但没有找到一个明确的说明来说明最好的方法。如果您有不同的执行此操作方法的经验或知识,如果您能分享您对执行此操作的最佳方法的结论,我将不胜感激。
【问题讨论】:
-
好吧,我不知道它是否符合您对推荐的定义,但我们在生产中使用this package,尽管它是一个天蓝色的功能。因此,在网络应用程序中使用它应该不会有任何问题。
-
xlsx是一个包含 XML 文件的 zip 包。您可以在没有任何特殊支持的情况下阅读它们,甚至不使用 OpenXML SDK。您可以使用 OpenXML SDK 读取 真正 大文件,如How to: Parse and read a large spreadsheet document (Open XML SDK) 所示。或者你可以使用像 EPPlus 这样的库,它可能是最流行的用于创建和读取 xlsx 文件的库 -
SQL Server 托管在哪里?它是 Azure SQL 还是 VM?如果是 VM,您可以使用 SSIS 将 Excel 文件从文件夹导入 SQL Server。
-
最后,关于“保留来自 Microsoft 的支持”。
xls在 12 年前就被废弃了,甚至像 Google Docs 这样的服务也需要付费订阅才能支持它。xlsx是专门为让任何人在不需要 OLEDB 驱动程序的情况下阅读它而构建的。 -
刚刚也发现了这个 - Import data from Excel to SQL Server or Azure SQL Database。它显示了可用于从服务器端加载 Excel 数据的各种方法。 Azure 数据工厂也可以运行 SSIS 包
标签: sql-server excel azure azure-web-app-service