< 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.

Jméno
Kontrola
Text
  b i u s img code url hr   1 2 3 4 5 6 7 8 9 10

#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 13x)
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 22x)
citovat
#050667
elninoslov
Skúsil som si teda opraviť ten XML a prerobiť makro.
Příloha: zip50667_import_xml.zip (35kB, staženo 26x)
citovat
#050671
avatar
Mockrát děkuji! To je ono!citovat

Uživatelské menu

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

Menu

On-line nástroje

Formulář Faktura

Formulář Faktura IV

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

Aktivní diskuse

Vynásobit hodnoty kurzem - Power Query

lubo • 25.4. 19:18

Relativní cesta - zdroje Power Query

elninoslov • 25.4. 15:12

Relativní cesta - zdroje Power Query

Alfan • 25.4. 15:08

Relativní cesta - zdroje Power Query

elninoslov • 25.4. 14:21

Relativní cesta - zdroje Power Query

Alfan • 25.4. 10:49

Relativní cesta - zdroje Power Query

elninoslov • 25.4. 10:47

Relativní cesta - zdroje Power Query

Alfan • 25.4. 10:40