V jednom z předchozích článků jsme zkoušeli, jak se dají dostat data z Excelu do SQL tabulky (Import Excelu do SQL databáze). Nyní si ukážeme jak udělat opak – tedy chceme dostat data z SQL databáze do Excelu – export tabulky.
Obecně tento postup téměř nevyužívám, protože při exportu do excelu (ale i z Excelu) je poměrně velké riziko vzniku různých chyb. Raději data Importuji nebo exportuji do textových souborů s oddělovači a pak si v případě potřeby u txt (csv) souborů data nalévám třeba do Excelu.
Dejme tomu, že bychom ale chtěli data zkopírovat z SQL Server tabulky rovnou do Excelu, ta možnost existuje tak proč ne.
Jak na Export ze SQL Server tabulky do Excelu Přes Import/Export Wizard
(i) Tabulka kterou chceme exportovat se jmenuje Test, má pouze 1 záznam a nachází se v databzi Temp.
(ii) Klikneme pravým tlačítkem na databázi [Temp] -> Tasks -> Export Data. Otevře se Import/Export Wizard, který nám celý proces usnadní.
(iii) Po kliknutí na next po nás chce wizard nadefinovat Data Source => zdroj dat. To je pro nás SQL server tabulka Test v databázi [Temp].
- Jako providera je nejjednodušší pro SQL Server nastavit “SQL Server Native Client 11.0”
- Server name je název SQL server instance (serveru)
- Pokud se na server přihlašujeme pod svým doménovým jménem tak ponecháme Use Windows Authentication. Pokud máme k dispozici SQL server Login a heslo, tak použijeme druhou možnost.
- Jako poslední krok vybereme databázi Temp
(iv) V dalším kroku podobným způsobem nadefinujeme Destination -> cílové umístění. V našem případě to bude Excel pojmenovaný “test.xls”
(v) V následujícím okně potvrdíme, že chceme zkopírovat hodnoty z tabulky do excelu.
(vi) V dalším okně vybereme tabulku [Temp].[dbo].[Test]
(vii) No a zde už jsme skoro na konci. Máme možnost nadefinovat datové typy jednotlivých sloupců a případně i to, co se stane pokud se daný záznam nepodaří zkopírovat (dojde k chybě) – možnost je chybu ignorovat nebo celý proces ukončit s chybou.
(viii) Celý proces, kterým jsme si prošli je možné provádět opakovaně. Pokud tomu tak chceme, tak si můžeme nechat vygenerovat SSIS package, který následně použijemek automatizaci.
(ix) Pokud chceme tuto úlohu pustit pouze jednou, tak toto okno ignorujeme a klikneme na next. Tím dojde k realizaci a data se zkopírují ze zdroje (SQL) do cíle (Excel)