экспорт результатов запроса в Excel - PullRequest
0 голосов
/ 15 апреля 2011

Я пытаюсь выполнить ниже SQL, но я получаю "Invalid object name '.Sheet1$'."

INSERT INTO OPENDATASOURCE 
    ('Microsoft.Jet.OLEDB.4.0', 
    'Database=c:\test.xls;Extended Properties=Excel 8.0')..[Sheet1$])
    SELECT col1 FROM table;

в mssql 2005.

любая помощь приветствуется.

Ответы [ 2 ]

1 голос
/ 15 апреля 2011

Если у вас включен xp_cmdshell, вы можете сделать это для экспорта в текстовый файл с разделителями, который идеально откроется в Excel.

EXEC xp_cmdshell 'SQLCMD -S [SERVERNAME] -d [DBNAME] -o "C:\Output.txt" -s "," -U "[USERNAME]" -P "[PASWORD]" -Q "SELECT TOP 10 * FROM table"';
0 голосов
/ 15 апреля 2011

Согласно этой записи (и нескольким другим образцам, которые Google нашел для меня), перед таблицей нужно три точки: 8.0) ... [Sheet1 $]. (Не спрашивайте меня, почему).

Добавлено: Немецкий перевод из Этот предоставляет полный пример доступа к Excel:

SELECT * FROM OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0',
'Data Source=C:\DataFolder\Documents\TestExcel.xls;Extended Properties=EXCEL 5.0')...[Sheet1$] ;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...