< návrat zpět

MS Excel


Téma: import xml dat do sešitu včetně označení sloupců rss

Zaslal/a 11.5.2021 14:52

Dobrý den,
měl bych dotaz, zda je možné upravit makro v příloze, aby se vybraný soubor s xml daty nahrál do konkrétního listu ("Pomocný") a to tak, aby řádek s daty obsahoval i označení tagů (sloupců). Náhled a makro je v příloze.
Děkuji.

Zaslat odpověď >

#050640
elninoslov
Náhled a makro je v příloze.

Nie je.citovat
#050645
elninoslov
A nejde o omyl?
- "pokusná data.xlsx" neobsahuje žiadne makro
- "note.xml" neobsahuje nič, čo by akokoľvek korešpondovalo s čímkoľvek v "pokusná data.xlsx"citovat
#050651
avatar
Omlouvám se, už jsem toho měl moc. Tentokrát v RARu je správný soubor s makrem a testovací xml soubor.

Potřeboval bych vyřešit, aby se xml včetně označení tagů nahrálo do listu Pomocný a další, pokud se soubor nevybere, tak aby se nezobrazovala chyba.
Děkuji.
Příloha: rar50651_import_xml.rar (31kB, staženo 16x)
citovat
#050653
avatar
Nemá náhodu někdo jednodušší řešení?
Nyní problém řeším tím, že přejmenuji nově vytvořený list s xml daty na "Pomocný". Následně jiné makro data z listu Pomocný zpracuje a už nejsou třeba.
Příště, až se znovu spustí import xml dat, tak se list Pomocný vymaže a následně znovu vytvoří Pomocný s novými xml daty připravený pro zpracování.
Příloha: rar50653_import_xml.rar (32kB, staženo 12x)
citovat
#050658
elninoslov
Štruktúra XML je vždy rovnaká? Teda hlavný uzol "note", a pod ním vždy uzly s dátami "to", "from", "heading", "body", ... ? Teda bez ďalších vnorení poduzlov? Ak áno, tak by som to urobil rýchlym rozkladom textu, a nie importom.citovat
#050659
avatar
Ne, struktura XML bude často jiná. Avšak budou se tam určitě opakovat konkrétní uzly, např jméno, příjmení, .... Konkrétní data, která potřebuji, si umím zpracovat, jen je potřebují mít v konkrétním listu, např. Pomocný.
Poslední řešení, které je v makru mi přijde krkolomné, ale funguje. Zajímá mě, jak dostat data z XML včetně jejich označení do Excelu.
XML soubor v archivu byl jen příklad.citovat
#050660
elninoslov
To nevadí, že názvy uzlov sú iné, v tomto prípade musí byť dodržané len to, aby bol len jeden hlavný uzlo, a pod ním X poduzlov. Ak máte záujem ešte aj o tie poduzly, tak to bude horšie. Lebo treba rekurzívnu metódu napísať, ktorá bude potom aj upravovať názvy stĺpcov podľa všetkých doterajších nadradených uzlov. Teda napr. názov stĺpca by bol "Meno.Stredné" alebo "Hodnoty.Tlak.Senzor027", a to samozrejme aj s dôsledkami, že musia byť tým pádom aj stĺpce "Meno" aj "Meno.Stredné". V druhom príklade stĺpce "Hodnoty" aj "Hodnoty.Tlak" aj "Hodnoty.Tlak.Senzor027".
Takýto univerzálny rozklad sa tu riešil tuším aj v PQ, a zdá sa mi, že sa to nedoriešilo pre plne variabilné XML.
Ale vtedy išlo zdá sa mi o zlučovanie viac xml, kde bolo potrebné porovnávať nerovnaké členenie do už rozložených stĺpcov.

Zatiaľ ten najjednoduchší variant.
Příloha: zip50660_import-xml-dat.zip (32kB, staženo 14x)
citovat
#050663
avatar
Děkuji, líbí se mi Vaše řešení, ale ostrá xml jsou komplikovanější a jak píšete, těch uzlů je tam víc. Délka kódu se může různě měnit. Z důvodu GDPR nemohu poslat, tak snad pomůže náhled v txt souboru.
Příloha: txt50663_priklad_jak_vypada_xml.txt (4kB, staženo 25x)
citovat
#050667
elninoslov
Skúsil som si teda opraviť ten XML a prerobiť makro.
Příloha: zip50667_import_xml.zip (35kB, staženo 27x)
citovat
#050671
avatar
Mockrát děkuji! To je ono!citovat

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Helios iNuvio

Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.

On-line nástroje