Сравнение координат или записей
XLSX сравнивается по имени листа и адресу ячейки. Отчёт сопоставляет тип, сохранённое значение и текст формулы. Поиск перемещённых строк по смыслу, сравнение оформления и вычисление формул не выполняются.
| Что нужно найти | Способ сравнения | Условие |
|---|---|---|
| Поменялась формула в D2 | Две XLSX по координатам | Листы и расположение сопоставимы |
| Изменилась цена товара после сортировки | CSV по стабильному ID | ID присутствует в обеих версиях и не меняет значение |
| Изменился только цвет или ширина столбца | Ручное сравнение оформления | Этот JSON не является отчётом по стилям |
Формула и сохранённое значение — два разных поля
В XLSX может лежать сохранённый результат последнего вычисления. Он не обязательно свежий. Инструмент не пересчитывает формулы: сравнивает то, что записано в каждой книге. Перед сравнением вычисленных сумм пересчитайте обе версии в Excel или совместимом редакторе и сохраните копии.
Официальные требования: SheetJS: тип, значение и формула ячейки
Лист «Товары»: B2=99, C2=2, D2 содержит формулу B2*C2 и сохранённое значение 198.
Новая версия: B2=120, C2=2, D2 содержит ту же формулу B2*C2 и значение 240. Ожидаются отличия B2 и значения D2; текст формулы D2 одинаков.
Если новая книга хранит в D2 старое значение 198, отчёт покажет сохранённые данные, а не автоматически вычислит 240.
Почему вставка строки увеличивает отчёт
Добавьте одну строку перед строкой 2. Бывшие B2 и D2 теперь находятся ниже, а сравнение координат увидит разные значения в прежних адресах. Большой отчёт в этом случае не означает множество независимых правок.
Если задача — сопоставить товары или контакты независимо от порядка, выгрузите нужные поля в CSV и используйте устойчивый ключ, например sku или ID. Проверьте повторные и пустые ключи: нельзя считать номер строки стабильным идентификатором.
| Наблюдение в JSON | Что проверить | Как продолжить |
|---|---|---|
| Много отличий после вставки строки | Сдвинулось ли расположение записей | Сравнить таблицы по ID либо привести книги к сопоставимым координатам |
| Формула та же, значение различается | Пересчёт и исходные данные формулы | Сохранить пересчитанные копии и сравнить снова |
| Значение то же, формула различается | Изменился способ вычисления | Проверить ссылки формулы вручную |
| Лист появился или исчез | Точное имя листа и его заполненные ячейки | Различать переименование листа и изменение данных |
Подготовка воспроизводимой пары книг
Сохраните две версии с понятными именами before.xlsx и after.xlsx. В редакторе первая книга — старая, вторая — новая; при обратном порядке поменяется направление before/after в отчёте.
Отчёт перечисляет различия ячеек, а не отдельный список изменений структуры книги. Добавленный или удалённый пустой лист может не попасть в JSON; состав пустых листов проверяйте отдельно.
- Проверьте имена листов и решите, сравниваете ли координаты или записи по ID.
- Если важны вычисленные результаты, пересчитайте и сохраните обе версии заранее.
- Загрузите ровно две XLSX, суммарно до 25 МБ.
- Откройте JSON, сопоставьте sheet/cell/before/after с реальными ячейками и проверьте каждый важный результат вручную.
- Отчёт не вычисляет формулы и не сравнивает стили.
- CSV удобен для сопоставления записей по ключу, но не заменяет сравнение формул XLSX.
- Сохраните исходные версии отдельно; обработка выполняется на сервере без истории файлов.
Вопросы и ответы
Почему одинаковая формула имеет разные значения before и after?
В книгах могут быть разные входные данные или сохранённые результаты пересчёта. Отчёт не вычисляет формулу заново; проверяйте обе версии в редакторе таблиц.
Почему одна вставленная строка дала много отличий?
Сравниваются адреса ячеек, поэтому сдвиг меняет множество сопоставлений. Для записей независимо от порядка используйте CSV и устойчивый ID.
Обнаружится ли изменение формулы при одинаковом показанном числе?
Да, если различается сохранённый текст формулы в сопоставляемой ячейке. Просмотрите поле formula у before и after.
Почему изменение цвета ячейки не попало в отчёт?
Эта операция сравнивает тип, значение и формулу. Оформление, ширины столбцов и другие свойства требуют отдельной визуальной проверки.
Как отличить переименование листа от изменения всех данных?
Сначала сопоставьте имена листов. Отчёт группирует ячейки по точному имени, поэтому переименование может выглядеть как исчезнувшие и добавленные ячейки; смысловой поиск переименований не выполняется.
Почему новый пустой лист не появился в JSON?
Отчёт перечисляет различия ячеек, а не самостоятельный список изменений структуры. Если на листе нет сравниваемых ячеек, проверьте его наличие в книге отдельно.