

Problém při načítání html souboru do Excelu
Potřebuji načítat výstupní sestavy generované informačním systémem do Excelu. Vše funguje do okamžiku, než se v sestavě vyskytne údaj například: LED4122. Excel tento text převede nesmyslně na datum I.22 čímž se celá sestava znehodnotí. Předpokládal jsem, že když se údaj zadá s příznakem textu, čili takto: 'LED4122, Excel bude pracovat správně. Ale tento příznak Excel naopak ignoruje a zobrazuje. Nějaký nápad na použitelné řešení? Přes Google jsem nic nenašel. Smysl má úprava výstupního souboru, který se generuje programově. Jakákoliv následná editace tisíců sestav v Excelu postrádá smysl.
Jakým způsobem se ty data do toho excelu vůbec dostanou?
asi jednoducho otvorí v exceli...
Vychádzam z toho, že nie je žiadúce editovať v exceli, čo by znamenalo ani predefinovávať konverziou textu na stĺpce...
No ano, v případě potřeby následné editace otevřou uživatelé soubor v Excelu. Nebo přímo z aplikace se rovnou zavolá Excel, což je ještě rychlejší a z pohledu uživatele jednodušší. V Excelu je původní údaj po otevření v podstatě zničen, nelze se nijakou uživatelsky snadnou změnou formátu vrátit k původní podobě z I.22 do LED4122.
Tak si to zrekapitulujme:
- Nechceme robiť zmeny v exceli, lebo sa jedná o 200 bežných užívateľov
- Excel údaj LED4122 proste neprijme ako text
Z toho vyplýva, že musíme zmeniť zdroj.
- Chceme zachovať tvar zápisu ako je v číselníku, t.j. medzeru doprostred vkladať nebudeme.
- Určité zmeny v zdroji robiť vieme, viď test
Jediné, čo mi zatiaľ vychádza ako najjednoduchšie, je vložiť v zdroji onú nezalomiteľnú medzeru na koniec označenia LED4122.
Aj to bude rovnako vyzerať, aj to bude text, aj to excel otvorí ako text...
V zdroji treba nájsť formu, ako sa zaistí, aby sa k týmto nešťastným položkám (ak som dobre pochopil, je to len LED....) pripísala na koniec nezalomitelná medzera...
To by vôbec nemal byť problém...
Vyzkoušíme a uvidíme, zda to takto půjde. Problém spatřuji jen v případné komplikaci při následném zpracování dat, zda nebude nutné ty koncové "mezery" odsekávat.
Ale to je také řešitelné programově, nikoliv uživatelsky.
Díky za tip!
Ešte ma napadá jedna vec, ktorú ale neviem teraz overiť, lebo píšem z mobilu... Či v možnostiach Excelu nie je nejaké nastavenie formátov dátumu, kde by sa kontrolovala nezmyselnosť (rok 4122) napr zadaním hornej hranice dátumu. Ovšem ak by sa to dalo, bolo by potrebné to nastavenie vykonať jednorazovo u všetkých užívateľov...
Řešení na úrovni uživatele je celá řada a všechny vyžadují nějaké individuální nastavení Excelu či použití makra.
S tou pevnou mezerou to zatím vypadá nejnadějněji.
Pre istotu si testom over, či funguje pridanie nezalomiteľnej medzery na koniec označenia (ľavý! ALT+0160)
A to je právě ten problém. Když otevřu např soubor csv rovnou v excelu, tak se snaží určit pravděpodobný formát a jednotlivá data doje*e.
Pokud otevřu prázdný excel a provedu import dat csv souboru přes průvodce a zvolím si o jaký formát se jedná, není problém.
Rozumiem, ale ide o to odbúrať potrebu akýchkoľvek úprav do žiadaného tvaru užívateľmi...
Ale jo, jen sem z předchozích reakcí tazatele nabyl dojmu, že nelze uživatele instruovat jak mají data zpracovávat a ani se mu moc nechce upravovat způsob generování exportu. To že se Excel snaží (většinou s mizerným výsledkem) předpovědět formát dat je jeho vlastnost, nikoliv funkce, kterou by šlo jednoduše vypnout.
Tím pádem je Tvůj návrh na použití pevné mezery řešením, kterého si 99,9% uživatelů ani nevšimne a účel to splní.
Nečetl jsem všechno, tak nevím, zdali se neopakuji. Co udělat makro, spuštěné při startu, které nastaví formát toho slupce jako znakový? Excel tolik neznám, používám LibreOffice.
Problém jsme nakonec vyřešili přidáním tvrdé mezery na konec problémového řetězce. Je to sice poněkud primitivní a nesystémové řešení, ale funguje to.
Děkuji za rady.