【发布时间】:2020-10-11 15:06:42
【问题描述】:
我有以下查询,可将数据导出到 Excel。但是当我打开 excel 时,所有单元格都会自动更改为一般格式,即使我将格式保持为数字。
INSERT INTO OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0;Database=E:\Temp Report Generation\custom_file.xlsx','SELECT * FROM [sheet$B11:AA11]')
请提供在导出数据到excel时保持格式不变的解决方案,无需通过打开excel手动更改格式。
【问题讨论】:
-
simple search 应该是您的起点。简短的回答是您不能使用简单的插入语句。在 Excel 中使用 vba 从 SQL Server 导入可能是一种资源密集度较低的方法。
-
你在错误的假设下工作。表中的列没有固有的“格式”。您在结果集中看到的内容是您用来查看该信息的工具的产物。日期、数字、GUID 等都存储为二进制值。除了在插入或修改期间存储的内容之外,字符串没有其他格式。
标签: sql sql-server stored-procedures oledb export-to-excel