Excel сообщает, что формат файла не соответствует расширению
08.08.2023

Excel сообщает, что формат файла не соответствует расширению

Половина файлов .xls, экспортируемых средствами отчетности, вовсе не являются файлами Excel. Как определить, что у вас на самом деле, и сколько стоит каждый имитатор.

Система прислала вам по электронной почте report.xls, вы дважды щёлкнули по нему, и Excel вывел предупреждение: формат файла и расширение 'report.xls' не совпадают. Откройте его в любом случае — он либо работает, либо заполняет экран разметкой. Вместо этого загрузите его в Просмотрщик Excel — он определяет, что представляет собой файл, а не то, как он называется. XLS, XLSX, CSV, ODS и варианты макросов, бинарные и шаблоны, до 20 МБ, удаляются при закрытии вкладки.

ОНЛАЙН ПРОСМОТРЩИК ДОКУМЕНТОВ XLS XLSX EXCEL
ОНЛАЙН ПРОСМОТРЩИК ДОКУМЕНТОВ XLS XLSX EXCEL

Расширение — это утверждение, а не факт

Ничто не мешает программе записать любые байты и назвать полученный файл .xls, и многие программы так и делают. Инструменты отчётности, ERP‑системы, банковские порталы и админ‑панели предлагают «Экспорт в Excel», а самый дешёвый способ реализовать эту функцию — выдать что‑то другое и присвоить ему расширение Excel, потому что Excel обычно открывает такой файл.

Начиная с Excel 2007 файл проверяется перед открытием, откуда и появляется предупреждение. Это не сообщение о повреждении. Это Excel сообщает, что имя указано неверно.

Как узнать, что у вас на самом деле

Откройте файл в текстовом редакторе — Notepad подойдёт — и посмотрите первую строку. Пять вариантов объясняют почти всё.

  • <html, <head> или <table — HTML‑таблица с именем электронной таблицы. Браузеры и веб‑отчёты постоянно её генерируют.
  • <?xml — SpreadsheetML, XML‑формат книги Excel 2003.
  • PK — ZIP‑архив, то есть настоящий XLSX (или ODS, или DOCX) с неверным расширением.
  • Не читаемый бинарный файл, начинающийся байтами D0 CF 11 E0 — подлинный XLS до 2007 года. Это именно тот файл, которым он называется.
  • Обычный читаемый текст с запятыми, точками с запятой или табуляциями между значениями — файл с разделителями, по сути CSV, но под чужим именем.

Что стоит каждый имитатор

Суть в том, что каждый из них теряет разные вещи.

HTML‑таблица содержит значения и часть форматирования, но вовсе не содержит формул. Система экспорта вычислила числа и записала ответы. Ни чего нет под ней для пересчёта, и ничего не потеряно при передаче — формулы просто не были записаны.

SpreadsheetML сохраняет формулы и форматы ячеек. Однако он не может хранить диаграммы и сводные таблицы; в этом формате нет места для их хранения, поэтому они исчезают при записи файла, а не при его открытии.

Неправильно названный XLSX ничего не теряет. Это полноценная современная книга, и единственная ошибка — шесть символов в имени файла.

Текстовый файл с разделителями содержит только значения и ничего больше: нет формул, форматирования, второй лист. Если он выглядит как один столбец текста с запятыми, значит разделитель не тот, который ожидает ваша версия Excel.

Как исправить это один раз

Для любого файла, который нужно сохранить, откройте его в Excel, проигнорировав предупреждение, затем выберите Файл → Сохранить как → Книга Excel (.xlsx). Теперь у вас реальная книга, и предупреждение исчезло навсегда.

Для неправильно названного XLSX просто переименуйте его и всё. Переименование не является конвертацией и почти никогда не помогает — это единственный случай, когда помогает, потому что содержимое уже было корректным.

Тот, который не является имитатором

.xlsb выглядит подозрительно, но не является таковым. Это подлинная книга Excel, хранящаяся в бинарном виде вместо упакованного XML: те же данные, заметно меньше по размеру, и она открывается быстрее в больших моделях. Если коллега отправил вам такой файл, с ним всё в порядке.

Что бы ни был файл, Просмотрщик Excel откроет его и покажет листы.