Що робить ця сторінка
Сторінка excel-to-json приймає один файл у форматі XLSX (книга Microsoft Excel) і повертає файл JSON, який містить дані з першого аркуша цієї книги, структуровані як масив об’єктів. Перетворення виконується повністю у вашому браузері — жоден байт файлу не передається на жоден сервер. Ви можете перетягнути файл у відведену зону або вибрати його через стандартний діалог. Після конвертації ви отримуєте готовий JSON для завантаження, попередній перегляд результатів, кількість рядків і стовпців у таблиці, а також розмір вихідного файлу.
Чим ця сторінка відрізняється від інших конвертерів
Перетворення XLSX у JSON — це не те саме, що перетворення в CSV. XLSX — це заархівований XML-формат, який може містити кілька аркушів, типи комірок (текст, число, дата, булеве значення), формули та багате форматування. JSON, навпаки, є типізованим, вкладеним форматом: він підтримує об’єкти, масиви, числа, булеві значення та null. Саме тому під час конвертації XLSX у JSON числові та булеві значення комірок можуть зберігатися як типізовані значення JSON (наприклад, число 42 або true), а не примусово перетворюватися в рядки в лапках, як це відбувається в CSV.
Однак важливо розуміти обмеження: форматування комірок (шрифти, кольори, межі), формули (які не обчислюються — використовується лише останнє збережене значення) та будь-які дані за межами першого аркуша відкидаються. На відміну від CSV, який перетворює кожен рядок у звичайний текст, JSON може представити табличну структуру як масив об’єктів, де назви стовпців стають ключами. Проте вихідна таблиця є плоскою — у XLSX-таблиці немає ієрархії, тому вкладені структури JSON не створюються автоматично. Якщо вам потрібна вкладена JSON-структура, доведеться обробляти результат окремо.
Вхідні та вихідні дані
Вхідні дані:
- Один файл XLSX (можна перетягнути або вибрати через файловий менеджер).
Вихідні дані:
- Готовий файл JSON для завантаження.
- Попередній перегляд результату у вигляді таблиці (перші 8 рядків і 8 стовпців).
- Кількість рядків і стовпців у конвертованій таблиці.
- Розмір вихідного JSON-файлу.
Правила та крайові випадки
Інструмент читає лише перший аркуш XLSX-файлу. Якщо у файлі кілька аркушів, дані з інших ігноруються. Використовуються видимі значення — формули не обчислюються; береться результат, який був збережений під час останнього редагування. Стилі комірок, об’єднання комірок та будь-яке форматування не зберігаються.
Якщо файл XLSX не вдалося розпарсити, з’являється повідомлення: «Не вдалося відкрити цей файл Excel.». Якщо перший аркуш не містить рядків із даними, ви побачите: «Цей файл не містить табличних рядків.». Діють обмеження на розмір файлу, кількість рядків і стовпців. Файл не може перевищувати 8 МБ, 10 000 рядків і 200 стовпців. Якщо файл перевищує встановлений ліміт, виводиться: «This file is too large. Use a file under ‹max›.».
Інші можливі помилки:
- «Виберіть файл у форматі CSV, JSON або XLSX.».
- «Не вдалося конвертувати цей файл.».
- «Конвертацію скасовано.».
- «Конвертація триває занадто довго. Спробуйте використати менший файл.».
Ці повідомлення чітко вказують на причину збою, що спрощує усунення проблем.
Для кого призначений цей інструмент
- Веб-розробник, який отримує дані про продукти в електронній таблиці Excel і потребує їх у форматі JSON для API або фронтенд-додатку.
- Аналітик даних, який хоче швидко перетворити квартальний звіт (XLSX) у машинозчитуваний JSON для подальшої обробки, наприклад, у Python або JavaScript.
- Користувач, який цінує приватність, і хоче конвертувати XLSX у JSON, не завантажуючи файл у хмарний сервіс.
Як працює перетворення – технічні деталі
Усередині XLSX
Файл XLSX — це ZIP-архів, що містить кілька XML-файлів. Серед них xl/workbook.xml із переліком аркушів та xl/worksheets/sheet1.xml із даними першого аркуша. Кожна комірка має посилання на стиль, тип (число, рядок, булеве, дата) та значення. Браузер розпаковує цей архів і витягує значення комірок.
Усередині JSON
JSON — це текстовий формат, що базується на синтаксисі об’єктів JavaScript. Він підтримує рядки (в подвійних лапках), числа (без лапок), булеві значення (true, false), null, масиви та об’єкти. У результаті конвертації кожен рядок таблиці стає об’єктом, ключі якого — назви стовпців з першого рядка, а значення — дані з відповідних комірок.
Мапування типів комірок
- Число (Excel
number): стає числом у JSON. Наприклад,42— без лапок. - Булеве (
true/false): стаєtrueабоfalseу JSON, теж без лапок. - Дата: Excel зберігає дати як числа (серійні дати). Інструмент перетворює дати на рядкове представлення ISO 8601 у форматі UTC, наприклад
"2023-08-15T00:00:00.000Z". - Текст: залишається як рядок у JSON.
- Порожня комірка: стає порожнім рядком
""у JSON. - Помилка (
#DIV/0!тощо): перетворюється на рядок із текстом помилки.
Чому формули втрачаються
Формули в Excel — це вирази, які обчислюються під час редагування файлу. У XLSX зберігається як сама формула, так і останнє обчислене значення (якщо файл було збережено). Конвертер не обчислює формули — він бере те значення, яке було записане у файлі. Якщо файл не відкривали та не зберігали після зміни формул, ви отримаєте старі значення або порожні комірки. Тому для отримання актуальних результатів завжди відкривайте файл в Excel, дочекайтеся обчислення формул і збережіть його перед конвертацією.
Обмеження одного аркуша
Чому тільки перший аркуш? Це вибір для простоти та швидкості: більшість користувачів мають дані саме на першому аркуші. Якщо вам потрібні дані з інших аркушів, доведеться зберегти кожен аркуш окремо як XLSX і конвертувати їх послідовно. Альтернатива — використовувати інструмент, який об’єднує всі аркуші в один JSON, але ця сторінка цього не робить.
Обробка на стороні клієнта
Уся робота з файлом виконується у вашому браузері. Файл ніколи не завантажується на сервер. Це забезпечує повну конфіденційність: навіть найчутливіші дані (фінансові звіти, персональні дані) не залишають вашого комп’ютера. Для перевірки цього можна вимкнути інтернет після завантаження сторінки — конвертер працюватиме далі.
Поширені помилки та поради
- Об’єднані комірки. Інструмент не обробляє об’єднання — значення буде лише в першій комірці, інші стануть порожніми рядками. Якщо у вас у шапці таблиці об’єднані комірки, краще від’єднати їх перед конвертацією.
- Порожні рядки. Порожні рядки відкидаються.
- Приховані стовпці. Вони все одно читаються, тому що в XML вони присутні. Якщо не хочете їх бачити в результаті, видаліть стовпці з файлу.
- Не прямокутна таблиця. Якщо підписи займають кілька рядків (наприклад, заголовки над заголовками), перший рядок стане ключами об’єкта. Всі наступні дані будуть зіставлені з цими ключами. Якщо структура складна, краще спочатку перетворити таблицю на плоску в Excel.
- Великі файли. Якщо файл перевищує ліміт, поділіть його на частини в Excel (наприклад, через фільтр або макрос) і конвертуйте кожну окремо.
- Спеціальні символи. Excel дозволяє назви стовпців із пробілами, крапками тощо. У JSON ключі об’єкта будуть мати ті самі назви, включаючи пробіли. Для сумісності з деякими парсерами краще замінити пробіли на підкреслення до конвертації.
Часті запитання
1. Чи можна конвертувати всі аркуші XLSX одночасно? Ні. Інструмент обробляє лише перший аркуш. Якщо вам потрібні дані з іншого аркуша, ви повинні спочатку перемістити цей аркуш на першу позицію в Excel перед завантаженням.
2. Чи зберігаються формули у JSON? Ні. У JSON потрапляє лише останнє збережене значення, яке було результатом формули на момент збереження файлу. Сама формула не експортується.
3. Чи безпечно завантажувати конфіденційні файли? Так, оскільки конвертація відбувається виключно у вашому браузері. Файл нікуди не завантажується. Можете перевірити це, відключивши інтернет після завантаження сторінки — все працюватиме далі.
4. Що робити, якщо файл завеликий? Ви отримаєте помилку «This file is too large. Use a file under ‹max›.». Рекомендуємо розділити файл на менші частини в Excel (наприклад, видалити старі дані) та конвертувати кожну частину окремо.
5. Як обробляються дати?
Дати перетворюються у рядковий формат ISO 8601, наприклад "2023-08-15T00:00:00.000Z". Оригінальна маска формату Excel відкидається.
6. Чи можна конвертувати JSON назад у XLSX за допомогою цієї сторінки? Ні, сторінка працює лише в одному напрямку: XLSX → JSON.