我试图将Azure SQL数据库表数据自动导出到Excel工作表。我尝试使用Azure Data Factory实现它,但由于Azure数据工厂不直接支持Excel,因此无法成功。我在一些文档中发现提到SQL数据库应首先导出为文本文件。根据该文档,我使用Azure Data Factory将SQL数据库数据导出为Azure Blob存储中的CSV文件,无法继续进行。有什么方法可以自动将Azure Blob中的CSV转换为Excel?整个过程是否还有更好的选择?
答案 0 :(得分:1)
您可以在Azure数据工厂管道中具有一个Azure功能活动,并将其链接到您的“复制活动”。通过链接活动,可以确保仅在成功写入csv文件后才调用Azure Function活动。
在Azure函数中,可以使用您选择的语言来编写代码,以将csv文件转换为xls。
有很多库可用于将csv转换为xls。其中一些在下面:
希望这会有所帮助。
答案 1 :(得分:1)
使用DataGrid中的复制粘贴将数据从SSMS导出到Excel或导出到.csv会导致数据类型丢失,这又将使您将这些数据导入Excel(作为文本导入)时花费更多的工作。 / p>
我开发了用于SSMS的SSMSBoost加载项,该加载项允许使用本地Excel剪贴板格式将数据复制粘贴到Excel,并保留所有数据类型。
此外,您可以使用SSMSBoost从当前的SQL脚本创建“。dqy” 查询文件并在excel中打开(在这种情况下,Excel将使用提供的连接信息和SQL文本来执行直接针对您的数据库查询)。 我希望这会有所帮助。
答案 2 :(得分:0)
我找不到自动将Azure Blob中的CSV文件转换为Excel的方法。 但是我发现有FileSculptor工具可以帮助您使用计划任务将csv文件自动转换为Excel。
主要优点:
有关更多详细信息,请参考本教程:Convert Between CSV, XML, XLS and XLSX Files。
关于如何将Azure SQL数据库导出到csv文件中,本教程How to export SQL table to Excel提供了两个示例:
我没有找到自动将Azure SQL数据库表数据导出到Excel工作表的方法。 Azure SQL数据库不支持SQL Server代理。
希望这会有所帮助。