Полный код с финальными исправлениями (устранение зависаний при повторных сравнениях и затемнение границ ячеек). Скопируйте его в файл `.html` и используйте.
**Что исправлено:**
- Добавлена переменная `currentTimeout` для отмены таймеров сравнения.
- Перед запуском нового сравнения отменяются все предыдущие асинхронные операции (`cancelAnimationFrame`, `clearTimeout`).
- Убраны возможные утечки слушателей событий.
- Границы ячеек таблицы изменены с `#ddd` на `#999` для лучшей видимости.
```html
Сравнение таблиц XLSX – финальная оптимизированная версия
Версия 1.9 – улучшена стабильность при повторных сравнениях, затемнены границы ячеек.
Идет сравнение таблиц...
Подготовка к сравнению
Обработано: 0 строк
Осталось: 0 строк
Сравнение строк...
Начало: -
Сравнение таблиц XLSX с фильтрацией и выгрузкой
1. Загрузите файлы
2. Сопоставление колонок
Для каждой колонки из исходного файла выберите соответствующую колонку из файла сравнения.
Примечание: уже выбранные колонки из файла сравнения скрыты в списках, чтобы избежать дублирования
Точность сравнения чисел:
(знаков после запятой)
Автоопределение дат
Игнорировать пробелы в конце
Без учета регистра
Округлять числа как у ЦРМ
Ноль и пусто - одно и то же
Пропускать без Sample
3. Настройка ключей сравнения
Укажите порядок ключевых колонок (для составного ключа) и колонки для сравнения значений.
Программа попытается автоматически определить ключевые колонки по названию (ID, BHID, номер, скважина и т.д.)
4. Исключение колонок из сравнения
Колонки, добавленные в этот список, будут исключены из сравнения, но останутся в таблице и экспорте.
Нет исключенных колонок. Добавьте колонки из раздела выше.
Исключенные колонки будут отображаться в таблице и экспорте, но не будут проверяться на различия
Результат сравнения
Анализ скважин
Фильтр:
Страница 1 из 1
Загрузка данных...
Нет данных для отображения по выбранному фильтру
Полное совпадение
Есть различия
Не найдено в сравнении
Без Sample (пропущено)
Главный ключ (синий текст)
Уточняющий ключ (синий текст)
Колонка для сравнения
Колонка не участвует
Колонка исключена из сравнения
Дата
Те
Зеленый текст = совпадение
Колонка сопоставлена (зеленый текст)
Примечание: В экспортируемом файле Excel будут применены цвета, фильтры и закреплена шапка.
Красный фон - строки не найдены в ИСИХОГИ
Желтый фон - строки с различиями
Зеленый фон - полное совпадение
Сиреневый фон - строки без Sample (пропущены)
Серый фон - колонки, которые не участвовали в сравнении