Minule sa ma na školení pýtala jedna pani, ako načítať tabuľku z Wordu do Excelu a Power BI. Pretože občas im niekto pošle údaje ako tabuľku vo Worde, prípadne v ňom majú raz za čas uvedené nejaké zaujímavé tabuľky. Power BI ani Excel na to nemajú priamo konektor, ale aj napriek tomu to ide celkom jednoducho. A rovnako to funguje aj so súbormi PDF.
Celý trik, ako načítať tabuľku z Wordu či PDF, spočíva v tom, že najprv daný dokument otvoríme vo Worde, a uložíme ho ako HTML súbor. A potom ho naimportujeme cez Web konektor v Power Query. Ktoré je v Exceli aj v Power BI.
Zoberme si teda takýto wordovský súbor:
Tento súbor obsahuje kurzový lístok NBS. Existuje síce priama cesta, ako to naimportovať z XML súboru z webu NBS, ale teraz sa budeme tváriť, že máme údaje iba ako tabuľku vo Worde.
Prvý krok
Prvým krokom je konverzia wordovského alebo PDF súboru na HTML súbor. To zvláda Word už od verzie 2013, takže by to dnes už nemal byť pre nikoho problém. Otvorte si teda daný wordovský súbor vo Worde. A ak je to PDF, tak ho otvorte tiež vo Worde, a Word si ho skonvertuje sám na editovateľný dokument.
Potom ho potrebujeme skonvertovať na HTML súbor. To spravíme tak, že ho dáme uložiť v tomto formáte. Napr. v Exceli 2016 to spravíte tak, že kliknete v hlavnom menu na „Súbor“ => „Uložiť ako“, a potom ako typ súboru vyberiete „Webová stránka, redukovaná (*.htm, *.html)“ alebo „Webová stránka (*.htm, *.html)“:
Ešte však nedávajte uložiť súbor. Je to kvôli tomu, že Word štandardne ukladá HTML súbory v kódovaní „Windows-1250“ pre stredoeurópske jazyky, ale my ho potrebujeme uložiť v kódovaní „UTF-8“. Pretože Power Query nám inak nenačíta správne znaky s diakritikou, či iné špeciálne znaky. Spravíme to tak, že kúsok pod políčkom, kde zadávame názov súboru, klikneme na tlačítko „Nástroje“ => „Web – možnosti…“:
Tam prejdeme do záložky „Kódovanie“, vyberieme kódovanie „Unicode (UTF-8)“, a stlačíme tlačítko OK:
Potom môžete dať konečne tento súbor uložiť, kliknutím na tlačítko „Uložiť“.
Druhý krok – ako načítať tabuľku z Wordu
V druhom kroku naimportujeme tabuľku z tohto HTML súboru cez Power Query. Použijeme konektor „Web“ na načítanie údajov z webu, pretože tento konektor vie okrem iného načítať tabuľky v HTML stránkach (ako píšem napr. v mojej knihe o Power BI), alebo hoci aj z Excelu na SharePointe (ako napr. v tomto článku). My ho tentokrát použijeme na načítanie tabuľky z HTML súboru.
Pokračujte teda takto:
- ak máte Excel 2010/2013, oba s doplnkom Power Query, tak v hlavnom menu choďte na záložku Power Query, a tam kliknite hneď na prvé tlačítko nazvané “Z webu”,
- ak máte Excel 2016, tak v hlavnom menu choďte na záložku Údaje, a tam kliknite na Nový dotaz => Z iných zdrojov => Z webu,
- ak máte Excel 2019, alebo Excel z Office 365, tak v hlavnom menu choďte na záložku Údaje, a tam kliknite na Získať údaje => Z iných zdrojov => Z webu,
- ak máte Power BI Desktop, tak v hlavnom menu kliknite na Načítať údaje => Web.
Tu vidíte štandardizáciu užívateľského rozhrania v praxi. To aby nebolo tak jednoduché
Následne sa vám otvorí okno na zadanie URL adresy. Zadajte tam celú cestu k HTML súboru, ktorú ste vytvorili v predchádzajúcom kroku. V tej ceste nahraďte všetky spätné lomítka obyčajnými lomítkami. A pred celú tú cestu ešte vložte „file:///“. V mojom prípade, ak mám ten súbor uložený napríklad ako „C:\data\kurzovylistok.html“, tak tam zadám cestu „file:///C:/data/kurzovylistok.html“:
Potom stlačíme tlačítko OK.
Následne sa nám otvorí Navigátor, ktorý sa v tom súbore pokúsi nájsť tabuľky. Nájdené tabuľky sa zobrazia v ľavom paneli, a po kliknutí na tabuľku „Table 0“ uvidíme náhľad pre našu tabuľku z Wordu:
Ak by Vám tam nenašlo žiadne tabuľky, tak skúste funkciu „Pridať tabuľku použitím príkladov“ v ľavom dolnom rohu.
V niektorých prípadoch sa stane, že znaky s diakritikou Power Query nenačíta správne. Ak sa to stane, tak sa vráťte naspäť do prvého kroku v tomto článku, a overte, či ste pri ukladaní súboru naozaj vybrali kódovanie UTF-8.
Keď je všetko zobrazené správne, tak už len kliknite na tabuľku „Table 0“ (ak ste v Exceli), alebo ju zafajknite (ak ste v Power BI), a stlačte tlačítko „Načítať“:
A máme našu tabuľku z Wordu načítanú do Excelu, resp. Power BI.
Profit!
Word ani PDF nie sú síce zrovna vhodné formáty na prenos údajov, ale niekedy jednoducho nemáte inú možnosť. A keď veľmi dobre poznáte možnosti základných nástrojov, tak vidíte, že ani takáto vec nie je žiadny problém. A keď si to prejdete párkrát, tak zistíte, že načítať tabuľku z Wordu a PDF do Excelu je hračka 🙂
Autor, tréner a expert na PowerPivot, Power BI a jazyk DAX. Založil som tento web, aby som pomohol dostať PowerPivot a Power BI do širšieho povedomia, a aby som ľuďom ukázal, že aj komplexné analytické problémy idú riešiť jednoducho. Po nociach vzývam Majstra Yodu a tajne plánujem ovládnutie vesmíru.
Zdravím, neprechádzal som si excelovský PowerPivot, ale v PowerBI Desktope existuje konektor na PDF súbory, skúsil som to a zdá sa, že funguje 🙂
Čo sa týka Wordu, zdá sa mi rýchlejšie Copy Paste do excelu, ale predpokladám, že Váš postup funguje, tak prečo nie…
V excelovskom PowerPivote nie je podpora pre PDF, pretože to je konektor v rámci najnovšieho Power Query, momentálne iba v Power BI Desktope. Veľakrát však má tento konektor problém s niektorými PDF dokumentami, keď napr. pre viacriadkový text v bunke načíta každý riadok v texte do osobitnej bunky/riadku v tabuľke. Táto metóda s tým nemá problém. A okrem iného, táto metóda ide automatizovať cez skriptovacie jazyky a rozhranie DCOM.
Dobry den,
pouzil som vas postup a s office 365 a funguje. No po importe dat do Excelu mi nefunguje Zlucovanie buniek. Musim este nieco v importnutych datach nastavit? Dakujem pekne.
Dobrý deň,
Malo by to fungovať. Vypisuje to zlučovanie nejakú chybu?
Dobrý deň, potrebujem presunúť tabuľku z wordu do excelu, no mám problém už pri prvom kroku. Word dokument bol vypracovaný vo verzii 97-2003, takže mi neukazuje možnosť zmeny na html. Ako inak premenovať word dokument na html verziu. Ďakujem.
Dobrý deň,
V tom prípade tú tabuľku vo Worde označte a prekopírujte do Excelu. V opačnom prípade by mala konverzia wordovského dokumentu do HTML fungovať v každej modernejšej verzii Wordu.