SQL Server 2005 -> Экспорт в Excel не сохраняет типы данных? - PullRequest
0 голосов
/ 03 марта 2011

Попытка (и в основном успешное выполнение) экспортировать результаты запроса из 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, но все это помещает в текст, хотя некоторые столбцы имеют дату и время, а большинство - числа.Ни один из них не конвертируется () - в самом запросе.Я пытался предварительно отформатировать ячейки в самом файле Excel перед выполнением запроса, но он игнорирует существующее форматирование и снова выкладывает все это в виде текста.

Должен быть способ сделать это, верно?

Ответы [ 3 ]

1 голос
/ 03 марта 2011

excel не имеет типа данных, его текстовый формат и предварительный формат не работают, поскольку он заменяет существующий файл. если вы хотите тип данных, попробуйте MS Access.

0 голосов
/ 04 марта 2011

Другой подход, который вы можете использовать в зависимости от своих потребностей, - это использование мастера импорта и экспорта. Вы можете настроить запрос данных и указать тип данных в мастере. Если вы используете SKU, отличный от Express, вы можете сразу запустить его или сохранить созданный пакет служб SSIS для дальнейшей манипуляции.

0 голосов
/ 04 марта 2011

Изучите использование файла schema.ini для определения типов данных в формате csv или txt.когда вы открываете любой в Excel, вы можете достичь того, что вы хотите

[sample_out.csv]
Format=CSVDelimited
DecimalSymbol=.
Col1=DATE datetime
Col2=FName Text
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...