Сравнение двух файлов

maximIZ
Дата: 10.07.2014 01:39:08
Добрый день. Есть два два ексель файла каким образом можно наверняка определит mjlbyfrjds kb они по содержанию или нет. По размеру не вариант. Определять мд5 хэш тоже не верно. Если замерить мд5 екселя а потом его открыть и ничего не меняя, сохранить, то мд5 изменится. Хотя файл по сути не менялся. Есть ли способ сравнить программно?
maximIZ
Дата: 10.07.2014 01:40:29
maximIZ
mjlbyfrjds kb
одинаковы ли
Изопропил
Дата: 10.07.2014 01:41:23
maximIZ
Есть ли способ сравнить программно?

есть, но сначала придётся дать определение равенства
hVostt
Дата: 10.07.2014 01:51:04
maximIZ
Хотя файл по сути не менялся.


если надо сравнить данные, содержащиеся в excel файлах, то придётся делать это вручную. т.е. открывать программно два файла и сравнивать между собой все ячейки.
Изопропил
Дата: 10.07.2014 02:26:48
hVostt
maximIZ
Хотя файл по сути не менялся.


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


от выдачи определений - не спасёт

предположим - данные в ячейках равны, а формулы - разные
sphinx_mv
Дата: 10.07.2014 02:41:50
Изопропил
hVostt
пропущено...


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


от выдачи определений - не спасёт

предположим - данные в ячейках равны, а формулы - разные
Форматирование ячеек?
maximIZ
Дата: 10.07.2014 02:45:39
в файлах нет формул. есть объединения ячеек, значения, цветовое форматирование. я думал есть что-то более простое чем сравнение поячеечно
hVostt
Дата: 10.07.2014 02:59:54
maximIZ
в файлах нет формул. есть объединения ячеек, значения, цветовое форматирование. я думал есть что-то более простое чем сравнение поячеечно


ну вот я создал файл Книга1.xlsx, заполнил несколько ячеек, сохранил, закрыл ексель. сделал копию файла, опять открыл Книга1.xlsx и, ничего не меняя, сохранил. закрыл.
потом распаковал оба файла (это по сути 2 зип архива) в разные папки и сравнил с помощью WinMerge.
обнаружил лишь одно различие в файле docProps\core.xml:


xsi:type="dcterms:W3CDTF">2014-07-09T22:48:58Z</dcterms:modified></cp:coreProperties>

и

xsi:type="dcterms:W3CDTF">2014-07-09T22:48:28Z</dcterms:modified></cp:coreProperties>


т.е. как видно, сохраняется время изменения.
в общем, делайте выводы. если действительно никаких изменений не производилось, но файл был пересохранён, поменяется время.
и проверить это очень легко.
Roman Mejtes
Дата: 10.07.2014 14:37:57
hVostt,

xlsx файл это zip архив который содержит в себе набор xml файлов с данными, форматированием и прочей тухлятиной.
думаю можно подумать в этом направлении.
распакуйте файл и сравните контрольные суммы xml файла данных,
либо пробегитесь по xml рекурсивно (по 2 файлам одновременно) и сравнивайте или что вам там надо