Экспорт результата запроса в excel или csv на SQL-сервере

Я хочу запланировать экспорт результата запроса в лист excel на SQL-сервере. Можно ли это сделать?

Запрос должен создать новый файл CSV или excel и выгрузить все данные из запроса в лист.

Я пытался

INSERT INTO OPENROWSET ('Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;Database=c:\contact.xls;',
'SELECT * FROM [Sheet1$]')
select * from temp1

Но это требует, чтобы файл уже присутствовал. Может кто-нибудь мне помочь?

2 ответа

Используйте мастер экспорта/импорта. Источник: сервер SQL Назначение: Excel

Возможно, вам нужно указать имя листа Excel и его расположение в структуре папок.

Здесь я показываю только один шаг мастера:


Если вы не хотите заранее создавать файл EXCEL и хотите экспортировать данные на него, используйте

EXEC sp_makewebtask 
@outputfile = 'd:\testing.xls', 
@query = 'Select * from Database_name..SQLServerTable', 
@colheaders =1, 
@FixedFont=0,@lastupdated=0,@resultstitle='Testing details'

Возможный дубликат T-SQL: экспорт в новый файл Excel

licensed under cc by-sa 3.0 with attribution.