Excel в CSV и JSON: конвертер XLSX

Конвертирует XLSX в CSV и JSON и обратно: выбор листа, первая строка как заголовки, разделитель, UTF-8 и Windows-1251, предпросмотр таблицы и скачивание файла.

Параметры

Что с чем конвертируем: книгу Excel в таблицу или таблицу в книгу

CSV — таблица с разделителем, JSON — массив объектов

Лист выбирается, когда в книге их несколько

Вывод

Точку с запятой ставит Excel с русской локалью, запятую — остальные

Универсальная кодировка: её понимают все современные программы

Данные
Первая строка — заголовкиЗаголовки становятся ключами JSON, а строка — шапкой книги Excel
Перетащите файл сюда или xlsx, xlsm, csv, tsv, json — файл разбирается в браузере и никуда не отправляется

Источник

Выберите книгу Excel: таблица листа появится здесь

Результат

Результат появится здесь после разбора книги

строк: 0 · колонок: 0

Зачем конвертировать Excel и CSV

Excel и остальной мир говорят на разных форматах. Книга .xlsx — это ZIP-архив с XML внутри: в ней есть листы, типы ячеек, форматы чисел и дат, а иногда и несколько листов сразу. CSV — просто текст с разделителями, в котором нет ни типов, ни листов, ни форматирования. JSON — массив объектов, удобный программам, но не человеку. Перекладывать данные между ними руками имеет смысл ровно до первой сотни строк: дальше начинаются потерянные ведущие нули, даты, превратившиеся в текст, и столбцы, уехавшие на одну позицию.

Инструмент работает в обе стороны и делает это без библиотек. При чтении книги он разбирает ZIP по центральному каталогу, распаковывает части через встроенный в браузер DecompressionStream, читает список листов из связей книги, общие строки из xl/sharedStrings.xml и форматы из xl/styles.xml — по ним число отличается от даты, поэтому дата остаётся датой, а не превращается в 45362. При записи он собирает такой же архив сам: считает CRC32, сжимает части через CompressionStream и кладёт минимальный набор XML, который Excel открывает как обычную книгу.

Всё считается в браузере. Файл читается через File API, распаковка, разбор и сборка идут на JavaScript, и ни один байт не уходит на сервер — поэтому инструментом можно разбирать выгрузки с персональными данными. Отдельно объяснены неподдержанные форматы: .xls, .ods и .xlsb не разбираются здесь не из вредности, а потому что это другие структуры, и вместо «ошибки чтения» инструмент говорит, что именно сохранить в Excel, чтобы файл открылся.

Частые вопросы

Как перевести Excel в CSV?

Выберите файл .xlsx в зоне загрузки — он разберётся прямо в браузере, и справа появится таблица. В параметрах остаётся выбрать лист, если их в книге несколько, и разделитель: точка с запятой нужна Excel с русской локалью, запятая — для «Google Таблиц» и программ. Кнопка «Скачать CSV» отдаст файл, а если русские буквы должны открываться в старом Excel или «1С» двойным щелчком, добавьте BOM или выберите Windows-1251.

Как сохранить XLSX с датами и числами, а не текстом?

Загрузите CSV или вставьте JSON и нажмите «Скачать XLSX»: инструмент сам определяет типы. Числа становятся числами, «true» и «false» — логическими значениями, а строки вида «2024-03-11» и «2024-03-11 09:30» записываются датой, поэтому Excel покажет их датой, а не текстом слева. Числа с ведущим нулём («007», «012») остаются текстом намеренно: как число они потеряли бы ноль, и код превратился бы в семь.

Почему файл .xls или .ods не читается?

Потому что это другие форматы. .xlsx — это ZIP-архив с XML внутри, его инструмент разбирает сам, без библиотек. Старый .xls (BIFF, Excel 97–2003) — двоичная структура, .ods — OpenDocument со своей схемой XML и своим способом хранить даты, .xlsb — двоичная книга. Откройте файл в Excel или LibreOffice и сохраните как «Книга Excel (.xlsx)»: после этого он прочитается здесь без потерь.

Выбор листа работает для любой книги?

Да, если в книге несколько листов, в параметрах появится список с их именами и числом строк в каждом. Лист выбирается по связям книги, а не по номеру файла, поэтому переименованные или переставленные листы читаются правильно. Пустые строки внутри листа сохраняют свои номера: если в книге пропущена строка, в таблице она тоже окажется пустой, и данные не съедут вверх.

Какая кодировка нужна для CSV?

Для новых программ, «Google Таблиц» и почты — UTF-8. Для Excel с русской локалью, который открывает CSV двойным щелчком, — UTF-8 с BOM: метка порядка байтов в начале файла и есть то, по чему Excel понимает кодировку, иначе русские буквы превращаются в «ÐœÐ¾Ñква». Windows-1251 нужна там, где принимающая сторона ждёт старую кодировку: «1С», банковские шаблоны, бухгалтерские программы. Символов, которых в Windows-1251 нет (например «₽» или эмодзи), при выгрузке заменяются на «?», и их число показано до скачивания.

Файл уходит на сервер?

Нет. Книга Excel разбирается в браузере: ZIP-архив читается по центральному каталогу, XML разбирается своим разборщиком, deflate распаковывается через DecompressionStream. Запись книги устроена так же — части архива собираются на JavaScript, сжимаются через CompressionStream, контрольные суммы CRC32 считаются на месте. Ни файл, ни данные никуда не отправляются, поэтому инструментом можно разбирать выгрузки с персональными данными и пользоваться им офлайн.

Чем ограничен размер файла?

Только возможностями браузера: разбор идёт в памяти, и книга на десятки мегабайт может занять её надолго. Предпросмотр показывает первые 50 строк и 30 колонок, чтобы страница не тормозила на большой таблице, но в скачиваемый файл попадают все строки и колонки без исключения. Книги, записанные в формате ZIP64 (больше 4 ГБ или с очень большим числом частей), не поддержаны — для них инструмент честно сообщает об этом.