尝试(并且基本上成功)将查询结果从SQL Server导出到Excel,如下所示:
insert into OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'Excel 8.0;Database=c:\exported excel files\exported_data.xls;',
'SELECT * FROM [Query$]') SELECT dbo.blabbityblah FROM dbo.the_table
有效!有点。它确实将数据导出到excel文件,但它将所有内容都作为文本放在那里,即使其中一些列是datetime,而且大多数都是数字。它们都不是在查询本身中转换()。我已经尝试在运行查询之前预先格式化实际Excel文件中的单元格,但它忽略了现有的格式化并将其全部作为文本再次吐出。
必须有办法做到这一点,对吗?
答案 0 :(得分:1)
excel没有数据类型,其基于文本和预格式化不起作用,因为它替换现有文件。如果你想要数据类型,请尝试MS Access。
答案 1 :(得分:0)
查看使用schema.ini文件来定义csv或txt中的数据类型。当您在excel中打开时,您可以实现您想要的目标
[sample_out.csv]
Format=CSVDelimited
DecimalSymbol=.
Col1=DATE datetime
Col2=FName Text
答案 2 :(得分:0)
您可能希望根据需要查看的另一种方法是使用导入和导出向导。您可以自定义数据查询并在向导中指定数据类型。如果您使用Express以外的SKU,您可以立即运行它或保存SSIS包以进行进一步操作。