Я много сравнивал книги Excel в прошлом. Моя методика очень хорошо работает для рабочих книг со многими рабочими листами, но она сравнивает только содержимое ячеек, а не форматирование ячеек, макросы и т. Д. Кроме того, требуется некоторое кодирование, но оно того стоит, если вам приходится многократно сравнивать большое количество больших файлов. Вот как это работает:
A) Напишите простую программу дампа, которая просматривает все таблицы и сохраняет все данные в разделенных табуляцией файлах. Создайте один файл для каждого листа (используйте имя листа в качестве имени файла, например, «MyWorksheet.tsv») и создайте новую папку для этих файлов при каждом запуске программы. Назовите папку после имени файла Excel и добавьте метку времени, например, «20080922-065412-MyExcelFile». Я сделал это в Java, используя библиотеку под названием JExcelAPI . Это действительно довольно легко.
B) Добавьте расширение оболочки Windows, чтобы запустить новую программу Java с шага A, если щелкнуть правой кнопкой мыши файл Excel. Это позволяет очень легко запустить эту программу. Вам нужно Google, как это сделать, но это так же просто, как написать файл * .reg.
C) Получить BeyondCompare . Он имеет очень классную функцию для сравнения данных с разделителями, показывая их в красивой таблице, см. Скриншот .
D) Теперь вы можете легко сравнивать файлы Excel. Щелкните правой кнопкой мыши файл Excel 1 и запустите программу дампа. Это создаст папку с одним файлом на листе. Щелкните правой кнопкой мыши файл Excel 2 и запустите программу дампа. Это создаст вторую папку с одним файлом на листе. Теперь используйте BeyondCompare (BC) для сравнения папок. Каждый файл представляет собой рабочий лист, поэтому, если в рабочем листе есть различия, BC покажет это, и вы сможете выполнить детализацию и сравнить файлы. BC покажет сравнение в хорошем макете таблицы, и вы можете скрыть строки и столбцы, которые вам не интересны.