Excel säger att filformatet inte matchar filändelsen
2023-08-08

Excel säger att filformatet inte matchar filändelsen

Hälften av .xls‑filerna som exporteras av rapportverktyg är inte Excel‑filer alls. Hur du kan avgöra vad du faktiskt har, och vad varje bedragare kostar dig.

Ett system mejlade dig report.xls, du dubbelklickade på den, och Excel visade en varning: filformatet och filändelsen för 'report.xls' matchar inte. Öppna den ändå så fungerar den antingen, eller så fyller den skärmen med kod. Ladda upp den till Excel‑visare istället — den läser vad filen faktiskt är snarare än vad den heter. XLS, XLSX, CSV, ODS och makro‑, binära‑ och mallvarianterna, upp till 20 MB, raderas när du stänger fliken.

ONLINE XLS XLSX DOKUMENT EXCEL VISARE
ONLINE XLS XLSX DOKUMENT EXCEL VISARE

En filändelse är ett påstående, inte ett faktum

Ingenting hindrar ett program från att skriva vilka bytes det vill och döpa resultatet till .xls, och en hel del gör just det. Rapporteringsverktyg, ERP‑system, bankportaler och admin‑paneler erbjuder alla “Exportera till Excel”, och det billigaste sättet att bygga den funktionen är att skicka något annat med Excel‑ändelsen, eftersom Excel vanligtvis öppnar det.

Sedan Excel 2007 kontrolleras filen innan den öppnas, vilket är varifrån varningen kommer. Det är inget korruptionsmeddelande. Det är Excel som säger att namnet är fel.

Ta reda på vad du faktiskt har

Öppna filen i en textredigerare — Anteckningar räcker — och titta på den första raden. Fem saker står för nästan allt.

  • <html, <head> eller <table — en HTML‑tabell med ett kalkylbladsnamn på sig. Webbläsare och webbrapporter genererar dessa ständigt.
  • <?xml — SpreadsheetML, XML‑arbetsboksformatet som Excel 2003 skrev.
  • PK — ett ZIP‑arkiv, alltså en riktig XLSX (eller ODS, eller DOCX) med fel filändelse.
  • Oläslig binär som börjar med bytena D0 CF 11 E0 — en äkta pre‑2007 XLS. Denna är vad den påstår sig vara.
  • Vanlig läsbar text med kommatecken, semikolon eller tabbar mellan värden — en avgränsad textfil, vilket är en CSV som bär någon annans namn.

Vad varje bedragare kostar dig

Poängen med att veta är att de förlorar olika saker.

En HTML‑tabell innehåller värdena och en del av formateringen, men inga formler över huvud taget. Exporteringssystemet räknade ut siffrorna och skrev ner svaren. Det finns inget underliggande att omräkna, och inget gick förlorat på vägen — det skrevs aldrig.

SpreadsheetML behåller formler och cellformat. Vad den inte kan innehålla är diagram och pivottabeller; formatet har inget sätt att lagra dem, så de togs bort när filen skrevs, inte när du öppnade den.

En felnamngiven XLSX förlorar ingenting. Det är en komplett modern arbetsbok och det enda som är fel är sex tecken i filnamnet.

En avgränsad textfil har värden och inget annat: inga formler, ingen formatering, inget andra blad. Om den ser ut som en kolumn text med kommatecken i, var separatorn inte den som din version av Excel förväntade sig.

Åtgärda det, en gång

För allt du måste behålla, öppna den i Excel förbi varningen, gå sedan till Arkiv → Spara som, Excel‑arbetsbok (.xlsx). Du har nu en riktig arbetsbok och varningen är borta för gott.

För en felnamngiven XLSX, byt namn på den och sluta. Att byta namn är inte en konvertering och hjälper nästan aldrig — detta är det enda fallet där det gör det, eftersom innehållet redan var korrekt.

Den som inte är en bedragare

.xlsb ser misstänkt ut men är det inte. Det är en äkta Excel‑arbetsbok lagrad som binär istället för zip‑XML: samma data, märkbart mindre, och den öppnas snabbare på en stor modell. Om en kollega skickar dig en sådan, är inget fel med den.

Oavsett vad filen visar sig vara, kommer Excel‑visare att öppna den och visa dig bladen.