Excel říká, že formát souboru neodpovídá příponě
8. 8. 2023

Excel říká, že formát souboru neodpovídá příponě

Polovina .xls souborů exportovaných nástroji pro reportování nejsou vůbec Excel soubory. Jak zjistit, co skutečně máte, a co vás každý podvodník stojí.

Systém vám poslal e‑mail s report.xls, dvojklikli jste na něj a Excel zobrazil varování: formát souboru a přípona 'report.xls' nesouhlasí. Otevřete jej i tak a buď funguje, nebo zaplní obrazovku značkami. Nahrajte jej místo toho do Prohlížeče Excelu — ten čte, co soubor skutečně je, místo toho, jak se jmenuje. XLS, XLSX, CSV, ODS a makro, binární a šablonové varianty, do 20 MB, jsou smazány po zavření karty.

ONLINE XLS XLSX DOKUMENT EXCEL PROHLÍŽEČ
ONLINE XLS XLSX DOKUMENT EXCEL PROHLÍŽEČ

Rozšíření je tvrzení, ne fakt

Ničeho nebrání programu zapisovat libovolné bajty a pojmenovat výsledek .xls, a mnoho z nich to tak činí. Nástroje pro reportování, ERP systémy, bankovní portály a administrační panely všechny nabízejí „Export do Excelu“ a nejlevnějším způsobem, jak tuto funkci vytvořit, je vydat něco jiného a dát mu příponu Excelu, protože Excel jej obvykle otevře.

Od Excelu 2007 je soubor před otevřením kontrolován, což je zdroj varování. Nejedná se o zprávu o poškození. Excel vám jen říká, že název je špatný.

Zjistěte, co skutečně máte

Otevřete soubor v textovém editoru — Notepad stačí — a podívejte se na první řádek. Pět věcí tvoří téměř vše.

  • <html, <head> nebo <table — HTML tabulka s názvem tabulky. Prohlížeče a webové reporty je neustále vytvářejí.
  • <?xml — SpreadsheetML, XML formát sešitu, který psal Excel 2003.
  • PK — ZIP archiv, tedy skutečný XLSX (nebo ODS, nebo DOCX) se špatnou příponou.
  • Nečitelné binární data začínající bajty D0 CF 11 E0 — pravý pre‑2007 XLS. Toto je to, co název říká.
  • Čistý čitelný text s čárkami, středníky nebo tabulátory mezi hodnotami — oddělený textový soubor, což je CSV nosící cizí název.

Co vám každý podvodník stojí

Smyslem vědět je, že ztrácejí různé věci.

HTML tabulka obsahuje hodnoty a část formátování, ale žádné vzorce. Exportní systém vypočítal čísla a zapsal odpovědi. Pod tím není nic k přepočítání a nic nebylo během přenosu ztraceno — nikdy to nebylo zapsáno.

SpreadsheetML zachovává vzorce a formáty buněk. Co však nedokáže nést, jsou grafy a kontingenční tabulky; formát nemá způsob, jak je uložit, takže byly vynechány při zápisu souboru, ne při jeho otevření.

Chybně pojmenovaný XLSX nic nestrácí. Je to kompletní moderní sešit a jediná chyba je šesti znaků v názvu souboru.

Oddělený textový soubor má hodnoty a nic dalšího: žádné vzorce, žádné formátování, žádný druhý list. Pokud vypadá jako jeden sloupec textu s čárkami, oddělovač nebyl ten, který vaše verze Excelu očekává.

Jednorázová oprava

Pro vše, co potřebujete zachovat, otevřete soubor v Excelu přes varování, poté Soubor → Uložit jako, Excel sešit (.xlsx). Nyní máte skutečný sešit a varování už navždy zmizí.

U chybně pojmenovaného XLSX jej přejmenujte a hotovo. Přejmenování není konverze a téměř nikdy nepomáhá — toto je jediný případ, kdy ano, protože obsah byl již správný.

Ten, který není podvodníkem

.xlsb vypadá podezřele, ale není. Jedná se o pravý Excel sešit uložený jako binární namísto zkomprimovaného XML: stejná data, výrazně menší, a otevírá se rychleji u velkých modelů. Pokud vám kolega pošle takový soubor, není na něm nic špatného.

Ať už soubor je jakýkoli, Prohlížeč Excelu jej otevře a zobrazí vám listy.