DocFlow
ExcelJSON

Таблица Excel в JSON

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

Что теряется по дороге

Это не абстрактные риски, а то, из-за чего выгрузка приходит непригодной именно в паре «Excel → JSON».

Типы: то, что в таблице выглядело числом, легко уезжает в строку и обратно, а принимающая сторона обычно строга к типам.
Пустое против нуля: пустая ячейка может стать нулём, пустой строкой или отсутствующим полем — и это три разных смысла для получателя.
Формат чисел: отображаемые два знака после запятой не равны хранимому значению, и в выгрузку попадает полная точность.
Многоуровневость: плоская таблица не выражает вложенность, поэтому позиции документа приходится собирать в массив отдельным шагом.

Порядок работы

  1. 1

    Приведите шапку к однозначным именам без пробелов — они станут именами полей.

  2. 2

    Решите заранее, чем будет пустая ячейка, и зафиксируйте это правило письменно.

  3. 3

    Отделите строки шапки и итогов от строк данных: в выгрузку должны попасть только данные.

  4. 4

    Проверьте на нескольких записях, что числа остались числами, а коды — строками.

Ограничения, о которых лучше знать заранее

  • Требования к структуре задаёт принимающая сторона, и подгонять надо под её описание, а не под удобство выгрузки.
  • Даты передаются по-разному, и без согласованного формата они почти гарантированно будут прочитаны неверно.
  • Наша выгрузка отдаёт CSV и XLSX; структурированного вывода в JSON и программного интерфейса в текущей версии нет.

Мы перечисляем ограничения до оплаты, а не после. Если ваш случай попадает в этот список — скажите, обсудим до того, как вы заплатите.

Вопросы

Почему ИНН лучше передавать строкой?

Потому что как число он теряет ведущие нули, а длинные идентификаторы вроде расчётного счёта ещё и округляются. Всё, с чем не выполняют арифметику, должно быть строкой.

Пустая ячейка — это ноль?

Почти никогда. Ноль означает «известно, что нуль», пустое — «неизвестно». Подстановка нуля вместо пустого искажает и суммы, и средние, и делает это незаметно.

Как передать позиции документа?

Массивом внутри объекта документа, а не отдельными строками с повторяющейся шапкой. Плоская таблица этого не выражает, поэтому сборку вложенности делают на шаге преобразования.

Пилот · 1 990 ₽ за 30 дней

Проверьте на своём файле: Excel → JSON

Первый документ мы разбираем вручную под ваш формат — это и есть проверка, работает ли схема на ваших файлах.

Первый счёт разбираем вручную под ваш формат. Списание разовое, автопродления нет. Источник перехода: seo/iz/excel-v-json.

Пилот · без автопродленияВозврат 14 дней