簡體   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