В прошлом я много сравнивал книги Excel. Моя техника очень хорошо работает для книг со многими рабочими листами, но она сравнивает только содержимое ячеек, а не форматирование ячеек, макросы и т. Д. Кроме того, есть некоторая кодировка, но это стоит того, если вам приходится много раз сравнивать множество больших файлов. Вот как это работает:
A) Напишите простую программу дампа, которая проходит через все листы и сохраняет все данные в файлы, разделенные табуляцией. Создайте один файл на листе (используйте имя рабочего листа в качестве имени файла, например «MyWorksheet.tsv»), и создайте новую папку для этих файлов каждый раз при запуске программы. Назовите папку после имени файла excel и добавьте временную метку, например. "20080922-065412-MyExcelFile". Я сделал это на Java, используя библиотеку под названием JExcelAPI. Это очень легко.
B) Добавьте расширение оболочки Windows, чтобы запустить новую программу Java с шага A при щелчке правой кнопкой мыши по файлу Excel. Это облегчает запуск этой программы. Вам нужно, чтобы Google сделал это, но это так же просто, как написать файл .reg.
C) Получить BeyondCompare. Он имеет очень интересную функцию для сравнения данных с разделителями, показав их в хорошей таблице, see screenshot.
D) Теперь вы можете легко сравнивать файлы Excel. Щелкните правой кнопкой мыши файл Excel 1 и запустите программу дампа. Он создаст папку с одним файлом на рабочий лист. Щелкните правой кнопкой мыши файл Excel 2 и запустите программу дампа. Он создаст вторую папку с одним файлом на рабочий лист. Теперь используйте BeyondCompare (BC) для сравнения папок. Каждый файл представляет собой рабочий лист, поэтому, если есть различия в листе, BC покажет это, и вы можете развернуть и выполнить сравнение файлов. BC покажет сравнение в красивой таблице, и вы можете скрыть строки и столбцы, которые вас не интересуют.
Я думаю, что теги unit-testing и dbunit неправильно применяются здесь. Речь идет о сопоставлении файлов для определенного формата файла и не имеет ничего общего с модульным тестированием. – 2008-09-23 07:29:29
Не ответ (для этого нужен Excel & является коммерческим продуктом), но для людей, привезенных сюда GooBinghoo - http://www.formulasoft.com/excel-compare.html работает хорошо для меня. – 2014-08-21 22:12:28
Я использую этот скрипт Python для разграничения Excel, который мы регистрируем в git. Я портировал этот код GO (который был перенесен с Perl) на Python: https://github.com/tokuhirom/git-xlsx-textconv#see-also Он позволяет использовать `git diff` и` gitk` – nmz787 2015-10-02 21:52:47