Что делает эта страница и чем она отличается
Вы загружаете файл Excel (XLSX) и получаете обратно плоский текстовый файл CSV. Инструмент читает видимые значения с первого листа, позволяет выбрать разделитель (запятую, точку с запятой или табуляцию) и генерирует готовый к скачиванию CSV. Всё происходит в вашем браузере — никакие данные не покидают вашу машину.
Главное отличие этой страницы от обычных конвертеров — она намеренно превращает богатый формат XLSX в примитивную текстовую таблицу. XLSX может содержать множество листов, формулы, разные типы ячеек (числа, даты, логические значения), цвета, шрифты и объединённые ячейки. У CSV нет места ни для чего из этого. Каждая формула заменяется последним сохранённым значением, всё форматирование сбрасывается, и используется только первый лист. Встроенные запятые, переводы строк и ведущие нули в данных могут испортить CSV-вывод, если их не обработать (инструмент применяет стандартное заключение в кавычки, но вам следует проверять результат). Так как в CSV нет понятия вложенных данных, вы должны заранее решить, как представлять иерархические поля (например, объединёнными строками или отдельными столбцами) до конвертации.
Как работает конвертация: от XLSX к CSV
XLSX — это zip-архив, содержащий XML-файлы с данными, стилями, связями. Когда вы загружаете XLSX на эту страницу, браузер распаковывает его на лету, извлекает первую рабочую книгу (worksheet) и считывает значения ячеек, как они выглядели при последнем сохранении. Никаких вычислений формул не происходит — берётся то, что отображалось. Затем все значения приводятся к тексту. Если ячейка содержала число 42.5, в CSV попадёт строка "42.5". Если дату — строка вроде "2023-03-15T00:00:00.000Z". Логические значения (ИСТИНА/ЛОЖЬ) станут "TRUE"/"FALSE".
После считывания строится таблица: каждая строка исходного листа превращается в строку CSV, ячейки разделяются выбранным пользователем разделителем. По умолчанию стоит запятая, но можно выбрать точку с запятой (часто используется в европейских локалях) или табуляцию (удобна для данных, где запятые и точки с запятые встречаются часто). Готовый файл загружается на компьютер через атрибут download.
На странице отображаются три метрики: количество строк, количество столбцов и размер выходного файла. Это позволяет сразу проверить, не обрезалась ли таблица.
Что теряется при преобразовании (и почему это нормально)
CSV — формат-инвалид по сравнению с XLSX. Перечислим, что пропадает безвозвратно:
| Потеря | Подробности |
|---|---|
| Все листы, кроме первого | Инструмент читает только первый лист. Остальные игнорируются |
| Формулы | Заменяются последним вычисленным значением. Формулы не пересчитываются |
| Стили: цвета, шрифты, границы, заливки | CSV — чистый текст |
| Объединённые ячейки | Инструмент читает каждую ячейку индивидуально. Объединённые ячейки обрабатываются как отдельные ячейки — сохраняется только значение в левой верхней ячейке; остальные становятся пустыми |
| Типы данных (число, дата, валюта) | Все значения становятся обычным текстом в CSV. Ячейка с датой записывается как текст ISO (например, 2023-03-15T00:00:00.000Z), а не в отображаемом формате; ячейка с валютой теряет свой символ и сохраняет только число |
| Ведущие нули в числовых ячейках | Если число хранится как число (например, 00123), CSV покажет 123. Чтобы сохранить нули, ячейка должна быть текстовой (с предшествующим апострофом или явным форматом "Текст") |
| Иерархические структуры | CSV — плоская таблица. Если в Excel есть вложенные строки (например, подгруппы), их нужно заранее развернуть в отдельные столбцы или объединить текстом |
Пример: вы имеете ячейку A1, содержащую формулу =B1+C1 со значением 100. В CSV попадёт "100". Если же формула ошибочна и выдавала #REF!, инструмент прочитает это как текст "#REF!" — CSV не знает, что это ошибка.
Граничные случаи: запятые, переводы строк, ведущие нули
Запятые и выбранный разделитель
Если разделитель — запятая, а значение содержит запятую, инструмент заключает всё значение в двойные кавычки. Например, ячейка с текстом "Василий, Иванович" станет "Василий, Иванович" в CSV. То же происходит, если значение содержит перевод строки (в Excel это можно сделать сочетанием Alt+Enter). В таком случае кавычки обязательны по RFC 4180.
Переводы строк
Многострочный текст в Excel при преобразовании будет сохранён в одной ячейке CSV, но заключён в кавычки с сохранением переносов. Это корректно для CSV, но многие старые парсеры не умеют обрабатывать многострочные поля. Рекомендуется перед конвертацией заменить в Excel внутренние переносы строк на пробелы или другой разделитель.
Ведущие нули
Классическая ловушка. Если в Excel написано "00123", но ячейка имеет числовой формат, после сохранения в CSV вы получите "123". Инструмент не может отличить, была ли эта ячейка изначально текстом или числом — он просто экспортирует хранящееся значение. Единственный способ сохранить нули — установить в Excel текстовый формат для ячейки (или вставить число с апострофом перед ним). В таком случае XLSX хранит значение как строку, и оно попадёт в CSV без изменений.
Пустые ячейки и пропуски
Пустая ячейка в Excel даёт пустое поле в CSV (два разделителя подряд). Если вся строка пуста, она удаляется.
Ошибки и предупреждения
Инструмент сообщает о следующих проблемах:
- "Choose a CSV, JSON or XLSX file." — загружен неподдерживаемый формат.
- "This file is too large. Use a file under 8 MB." — превышен лимит размера.
- "This Excel file could not be opened." — файл повреждён или не является настоящим XLSX.
- "This file has no table rows." — лист пуст или не содержит строк с данными.
- "This table has more than ‹max› rows." — превышен лимит строк.
- "This table has more than ‹max› columns." — превышен лимит столбцов.
- "Conversion cancelled." — пользователь вручную остановил преобразование.
- "This conversion is taking too long. Try a smaller file." — тайм-аут при обработке.
Подготовка Excel-файла с несколькими листами и вложенными данными
Инструмент берёт только первый лист. Поэтому если ваш XLSX содержит распределение данных по листам "Январь", "Февраль", "Март", вы получите только первый из них. Есть два подхода:
- Объединить листы заранее: скопировать все данные на один лист (например, через Power Query или ручное копирование). Убедитесь, что структура столбцов совпадает, иначе CSV получится с разным числом колонок.
- Конвертировать каждый лист отдельно: сохранить каждый лист как отдельный XLSX (через "Сохранить как" → "Книга Excel") и загружать поочерёдно.
Иерархические данные (например, строка-заголовок группы, затем вложенные строки) CSV не поддерживает. Если в Excel есть свёрнутые строки, их нужно развернуть в плоскую таблицу. Например, вместо:
| Отдел | Сотрудник |
|---|---|
| Продажи | |
| Иван | |
| Мария |
Сделать:
| Отдел | Сотрудник |
|---|---|
| Продажи | Иван |
| Продажи | Мария |
Также можно создать столбец с полным иерархическим путём (например, "Продажи / Иван") — это текстовое поле, оно сохранится.
Безопасность и конфиденциальность
Страница выполняет всю обработку на стороне клиента — в браузере. Файл никуда не отправляется, не загружается на сервер. Это особенно важно, если Excel содержит персональные данные, финансовую отчётность или другую чувствительную информацию. Никаких промежуточных хранилищ, внешних API или трекеров. Единственный сетевой запрос — загрузка самого JavaScript-кода инструмента (и то, возможно, из кэша). Результат генерируется и скачивается локально.
Тем не менее, помните: если вы используете корпоративный компьютер с прокси или антивирусом, который проверяет загружаемые файлы, ваш файл может быть временно прочитан этими системами — это не относится к самому инструменту.
Часто задаваемые вопросы
1. Почему в CSV пропали ведущие нули (например, "00123" стало "123")?
Это происходит, если ячейка в Excel была числового формата. Числовые значения не хранят ведущие нули. Чтобы их сохранить, установите для ячейки текстовый формат (Правая кнопка мыши → Формат ячейки → Текст) или начните значение с апострофа (например, '00123).
2. Инструмент показывает 100 строк, а на листе их 200. Почему?
Скорее всего, инструмент обрабатывает только первый лист. Откройте файл в Excel и проверьте, не активен ли другой лист. Также возможен лимит на количество строк (см. предупреждения). Перенесите все данные на первый лист.
3. Можно ли сохранить даты в определённом формате (например, "01.02.2024")?
Нет, инструмент берёт значение ячейки "как есть". Если в Excel дата отображается как "1 февраля 2024 г.", то в CSV попадёт соответствующий текстовый вид (зависит от региональных настроек). Лучше заранее отформатируйте столбец в Excel как текст в нужном формате.
4. Что произойдёт с формулами, которые содержат ошибки?
Инструмент читает последнее отображаемое значение. Если ячейка показывает #REF! или #DIV/0!, в CSV попадёт текст этой ошибки ("#REF!").
5. Нужно ли заключать значения в кавычки, если я выберу разделитель-табуляцию?
Нет, инструмент всё равно автоматически заключает в кавычки поля, содержащие символ табуляции или перевод строки. Вам не нужно ничего делать вручную.
6. Какой максимальный размер файла можно загрузить?
Максимальный размер файла составляет 8 МБ. Если файл слишком большой, появится сообщение "This file is too large. Use a file under 8 MB.". Рекомендуется разбивать очень большие Excel-файлы на части или удалять ненужные листы и строки заранее.