Конвертер JSON в Excel
JSONКонвертируйте массив JSON в книгу Excel .xlsx с помощью SheetJS и скачивайте.
Удалённые URL не запрашиваются; вставьте JSON напрямую.
На этой странице
Что такое конвертер JSON в Excel?#
Конвертер JSON в Excel берёт JSON-документ, по форме напоминающий таблицу, — обычно массив похожих объектов — и создаёт настоящую книгу .xlsx, которую можно открыть в Excel, Google Таблицах или LibreOffice. Каждый объект становится строкой, каждый ключ верхнего уровня — столбцом, а первая строка листа — заголовком. На выходе получается настоящий бинарный файл таблицы, а не переименованный CSV.
Это мост между системами, говорящими на JSON (API, логи, экспорт из NoSQL), и людьми, работающими в таблицах. Бэкенд может выгрузить тысячу записей как JSON; аналитику же нужно получить их в Excel, чтобы сводить, фильтровать и строить графики. Конвертер также обрабатывает неряшливость реальных данных: вложенные объекты, поля, присутствующие в одних строках, но не в других, и поля-массивы, которым в сетке негде естественно «приземлиться».
Тонкую работу делают два соглашения. Вложенные объекты разворачиваются в ключи с точечной нотацией — {"address": {"city": "London"}} становится столбцом address.city. Поля-массивы (и любой объект, уцелевший после разворачивания) сериализуются в свою ячейку как JSON-текст, потому что ячейка таблицы хранит одно значение, а не вложенную структуру. Результат — плоская, прямоугольная таблица, которую табличный процессор открывает без жалоб.
Как пользоваться#
- Вставьте JSON-массив объектов в панель Ввод слева. Одиночный объект или объект, оборачивающий строки под одним ключом вроде
{"data": [...]}, тоже принимается. - Отметьте Плоское развертание (включено по умолчанию), чтобы развернуть вложенные объекты в столбцы с точечной нотацией. Снимите отметку, если хотите, чтобы вложенные объекты оставались как JSON-текст в одной ячейке.
- Панель Вывод показывает разделённый табуляцией предпросмотр того, что попадёт в лист, — строку заголовка и затем строки данных. Строка состояния сообщает, сколько строк экспортировано.
- Нажмите Скачать, чтобы сохранить книгу. Файл строится в вашем браузере и скачивается напрямую; сервера нет.
- Пример загружает небольшой набор данных о сотрудниках; Очистить сбрасывает обе панели и отключает кнопку скачивания.
Ключевые возможности#
- Настоящий файл .xlsx, а не переименованный CSV. Книга строится через SheetJS и скачивается как бинарник, поэтому Excel открывает её нативно — с правильными столбцами, типами и структурой листа.
- Стабильный порядок столбцов на «грязных» данных. Столбцы вычисляются как объединение ключей всех строк в порядке первого появления. Неоднородные строки не сдвигают и не смещают столбцы — отсутствующее поле просто становится пустой ячейкой.
- Разворачивание с точечной нотацией. Вложенные объекты разворачиваются в именованные столбцы (
address.city,address.zip), поэтому их внутренние значения можно отдельно фильтровать и сортировать на листе. - Предпросмотр с разделением табуляцией. Панель вывода точно отражает содержимое листа, поэтому форму можно проверить перед скачиванием.
- Полностью на стороне клиента. Разбор, разворачивание и генерация книги идут в вашем браузере. Данные не покидают страницу.
Разбор примера#
Загрузите Пример, и вводом будет массив из трёх записей сотрудников:
[
{ "id": 1, "name": "Ada Lovelace", "role": "Engineer", "salary": 95000, "skills": ["math", "logic"] },
{ "id": 2, "name": "Bob", "role": "PM", "salary": 120000, "skills": ["docs", "plan"] },
{ "id": 3, "name": "Grace", "role": "Architect", "salary": 150000, "skills": ["systems", "c", "cobol"] }
]
Все три строки имеют одинаковые ключи, поэтому столбцы — id, name, role, salary, skills в этом порядке. Поле skills — массив, поэтому оно сериализуется в каждую ячейку. Предпросмотр с табуляцией:
id name role salary skills
1 Ada Lovelace Engineer 95000 ["math","logic"]
2 Bob PM 120000 ["docs","plan"]
3 Grace Architect 150000 ["systems","c","cobol"]
Нажмите Скачать, и вы получите книгу, первый лист которой содержит ровно это содержимое, с id / name / role / salary / skills как строкой заголовка. Далее Excel считает salary числами (чтобы суммировать и усреднять), а skills — текстом.
Если добавить четвёртую строку без salary, конвертер всё равно выведет все пять столбцов и просто оставит ту ячейку пустой — никаких сдвигов столбцов и рассинхрона данных ниже по потоку.
FAQ#
Почему мой вложенный объект превращается в столбцы с точками в именах?#
Это опция Плоское развертание. Поле вроде "address": {"city": "London", "zip": "NW1"} нельзя сколько-нибудь полезно уместить в одну ячейку, поэтому оно разворачивается в столбцы address.city и address.zip — каждый можно отдельно фильтровать и сортировать в Excel. Выключите опцию, если предпочитаете держать весь объект как JSON-строку в одной ячейке address.
Почему мой массив отображается в ячейке как ["math","logic"]?#
Ячейка таблицы хранит одно значение, а JSON-массив — вложенная структура, поэтому он сериализуется обратно в JSON-текст и кладётся в ячейку как есть. Это сохраняет данные без потерь — ничего не отбрасывается — и позже их всё равно можно разобрать. Если хотите, чтобы каждый элемент массива был в отдельной строке, переструктурируйте исходный JSON перед конвертацией (одна запись на элемент).
Мои строки имеют разные поля. Что будет со столбцами?#
Конвертер берёт объединение всех ключей по каждой строке в порядке первого появления и использует его как заголовок. Строка, где нет данного поля, получит пустую ячейку. Поэтому добавление строки с дополнительным полем manager просто добавит столбец manager; строки без него останутся пустыми, а то, что уже есть, не сдвинется.
Мои данные куда-нибудь загружаются для построения .xlsx?#
Нет. Разбор, разворачивание и генерация книги через SheetJS выполняются внутри вашего браузера. Файл формируется из буфера в памяти и передаётся напрямую в диалог сохранения браузера — бэкенда и сетевого запроса нет.