Urobil som malú zmenu v príponách, ale funkčnosť ostáva nezmenená. Načíta to súbory CSV, TXT, XLS, XLSX, XLSM, XLSB.
Na každý súbor v adresári "Data" sa pozerá samostatne v poradí:
-Je to
CSV alebo
TXT ? Zisti, či je oddeľovač ";" alebo " ". Ak
ÁNO, tak volaj
fncCsvTxt([Content]) a rozdeľ.
-Ak
NIE, tak je to
XLS alebo
XLSB ? Ak
ÁNO tak volaj
fncXls([Content]), ktorá nájde prvý neprázdny list.
-Ak
NIE, tak potom to už musí byť verzia súboru, ktorá môže obsahovať Tabuľky, to predpokladáme a preto najskôr voláme
fncXlsxT([Content]), ktorá kontroluje výskyt položky Table. Ak v súbore nejaká Tabuľka
je, tak ju načíta.
-
Inak zavolá
fncXlsx([Content]), ktorá postupuje obdobne s prvým neprázdnym listom, ako v prípade súboru XLS/XLSB funkcia
fncXls([Content])
Nemusíte použiť vždy všetky 4 fnc. V tomto konkrétnom prípade, ale musíte, keďže sme sa dohodli, že v Data môžu byť všetky tieto formáty.
Použitie pre iné prípady je nutné poupraviť. Dôvody? No napr. sa neberú do úvahy všetky dátové listy, ani všetky Tabuľky, ale iba prvý/prvá. Alebo je tam nastavený typ dát. Alebo oddeľovač býva často Tabulátor. Teraz sú tabuľky do výsledku rozbalené, čo so sebou nesie potrebu názvov stĺpcov, ale je tam zakomentovaná aj verzia s kombinovaním, kde názvy nie sú potrebné. Atď...
Pre zmenu rozbalenia za kombinovanie zakomentujte
#"Rozbalené Data souboru"
#"Odstránené stĺpce"
#"Zlúčené stĺpce"
#"Zmenený typ"
a odkomentujte
KombinujTabulky
#"Zmenený typ" (ten druhý)
Zisťovanie oddeľovača ";"/" " som zmenil.
Zapínanie/vypínanie ďalších vnorených podadresárov mi funguje bez problémov. Neviem v čom je zrada.
XLSX súbory to normálne zahŕňa, načíta, všetko korektne. Veď tak sme sa dohodli. To bolo zahrnuté v tej podmienke
Text.StartsWith([Extension], ".xls"), ale teraz som to zmenil. Opäť neviem, v čom je zrada, keď to u Vás nejde.
citovat