System wysłał Ci e‑mail z plikiem report.xls, dwukrotnie go kliknąłeś i Excel wyświetlił ostrzeżenie:
format pliku i rozszerzenie 'report.xls' nie pasują. Otwórz go mimo to, a
zadziała albo wypełni ekran znacznikami. Prześlij go zamiast tego do
przeglądarka Excel — ona odczytuje, co faktycznie jest w pliku, a nie to, jak się nazywa. XLS, XLSX, CSV, ODS oraz warianty makr, binarne i szablonowe,
do 20 MB, usuwane po zamknięciu zakładki.

Rozszerzenie jest twierdzeniem, a nie faktem
Nic nie powstrzymuje programu przed zapisywaniem dowolnych bajtów i nadawaniem wynikowi nazwy .xls,
a wiele z nich tak właśnie robi. Narzędzia raportujące, systemy ERP, portale bankowe i panele administracyjne
wszystkie oferują „Eksport do Excela”, a najtańszym sposobem wdrożenia tej funkcji jest wygenerowanie
czegoś innego i nadanie mu rozszerzenia Excel, ponieważ Excel zazwyczaj otworzy taki plik.
Od wersji Excel 2007 plik jest sprawdzany przed otwarciem, co jest źródłem tego ostrzeżenia. To nie jest komunikat o uszkodzeniu. Excel po prostu informuje, że nazwa jest nieprawidłowa.
Dowiedz się, co naprawdę masz
Otwórz plik w edytorze tekstu — Notatnik wystarczy — i przyjrzyj się pierwszej linii. Pięć rzeczy wyjaśnia prawie całość.
<html,<head>lub<table— tabela HTML z nazwą arkusza kalkulacyjnego. Przeglądarki i raporty internetowe generują je nieustannie.<?xml— SpreadsheetML, format skoroszytu XML używany w Excel 2003.PK— archiwum ZIP, czyli prawdziwy XLSX (lub ODS, lub DOCX) z niewłaściwym rozszerzeniem.- Nieczytelny binarny zaczynający się od bajtów
D0 CF 11 E0— prawdziwy XLS sprzed 2007. Ten plik jest tym, za co się podaje. - Zwykły czytelny tekst z przecinkami, średnikami lub tabulacjami między wartościami — plik tekstowy z separatorami, czyli CSV pod inną nazwą.
Co kosztuje każdy oszust
Kluczowe jest to, że każdy z nich traci inne elementy.
Tabela HTML zawiera wartości i część formatowania, ale nie zawiera żadnych formuł. System eksportujący obliczył liczby i zapisał wyniki. Nie ma nic pod spodem, co mogłoby je przeliczyć, i nic nie zostało utracone w tranzycie — nigdy nie zostało zapisane.
SpreadsheetML zachowuje formuły i formaty komórek. Nie może jednak przenosić wykresów i tabel przestawnych; format nie ma sposobu ich przechowywania, więc zostały pominięte przy zapisywaniu pliku, a nie przy jego otwieraniu.
Źle nazwany XLSX nie traci nic. To pełny nowoczesny skoroszyt, a jedyną wadą jest sześć znaków w nazwie pliku.
Plik tekstowy z separatorami zawiera tylko wartości i nic więcej: brak formuł, brak formatowania, brak drugiego arkusza. Jeśli wygląda jak jedna kolumna tekstu z przecinkami, separator nie był tym, którego oczekuje Twoja wersja Excela.
Naprawianie jednorazowo
Aby zachować cokolwiek, otwórz plik w Excelu, pomijając ostrzeżenie, a następnie wybierz Plik → Zapisz jako → Skoroszyt Excel (.xlsx). Teraz masz prawdziwy skoroszyt i ostrzeżenie zniknęło na zawsze.
W przypadku źle nazwanego XLSX po prostu zmień nazwę i gotowe. Zmiana nazwy nie jest konwersją i prawie nigdy nie pomaga — to jedyny przypadek, w którym pomaga, ponieważ zawartość była już prawidłowa.
Ten, który nie jest oszustem
.xlsb wygląda podejrzanie, ale tak nie jest. To prawdziwy skoroszyt Excel przechowywany w formacie binarnym
zamiast spakowanego XML: te same dane, zauważalnie mniejszy rozmiar i szybsze otwieranie przy dużych modelach. Jeśli kolega wyśle Ci taki plik, nie ma w nim nic nie tak.
Niezależnie od tego, czym okazał się plik, przeglądarka Excel otworzy go i wyświetli arkusze.