Server SQL esportazione in Excel con OPENROWSET
-
05-09-2019 - |
Domanda
sto con successo l'esportazione in Excel con la seguente affermazione:
insert into OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'Excel 8.0;Database=C:\template.xls;',
'SELECT * FROM [SheetName$]')
select * from myTable
C'è un modo standard per utilizzare questo modello specificando un nuovo nome per il foglio di Excel in modo che il modello non viene mai scritto o devo venire con qualche lavoro intorno?
Qual è il modo migliore per farlo nelle persone esperienza?
Soluzione
Dovreste usare SQL dinamico. OPENROWSET
ecc consente solo letterali come parametri.
DECLARE @myfile varchar(800)
SET @myfile = 'C:\template.xls'
EXEC ('
insert into OPENROWSET(''Microsoft.Jet.OLEDB.4.0'',
''Excel 8.0;Database=' + @myfile + ';'',
''SELECT * FROM [SheetName$]'')
select * from myTable
')
Ricordate: il percorso è relativo al punto in cui SQL Server è in esecuzione
Altri suggerimenti
Non potreste fare una copia del tuo modello, poi passare il nome del file della copia in OPENROWSET?
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow