繁体   English   中英

SQL Server 2005-> Excel导出不保留数据类型?

[英]SQL Server 2005 -> Excel export doesn't keep data types?

尝试(并在很大程度上成功)将查询结果从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文件,但是即使其中一些列是日期时间,而大多数列是数字,它也将所有数据都以文本形式放在其中。 在查询本身中,没有一个被convert()-ed处理。 在运行查询之前,我曾尝试对实际Excel文件中的单元格进行预格式化,但它会忽略现有的格式并将其全部重新作为文本显示出来。

必须有一种方法可以做到,对吗?

excel没有数据类型,它的基于文本和预格式化的格式不起作用,因为它替换了现有文件。 如果您想要数据类型,请尝试使用MS Access。

考虑使用schema.ini文件在csv或txt中定义数据类型。 当您在excel中打开任何一个时,您都可以实现所需的功能

[sample_out.csv]
Format=CSVDelimited
DecimalSymbol=.
Col1=DATE datetime
Col2=FName Text

您可能需要根据需要查看的另一种方法是使用导入和导出向导。 您可以自定义数据查询并在向导中指定数据类型。 如果您使用的不是Express以外的SKU,则可以立即运行它或保存生成的SSIS包以作进一步处理。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM