Как я могу просто проверить, совпадают ли два файла Excel или нет

Я не хочу знать, В ЧЕМ различия, я просто хочу знать "Да / Нет, эти листы идентичны?"

К сожалению, поверхностное хеширование файла на это не дает:(

Конкретно...

  • Я взял файл.XLSX и скопировал его.
  • Сравнивал хеши... Хеши были такие же. Ура!
  • Открыл один файл, нажал на ячейку, сохранил и закрыл файл.
  • Сравнивал хеши... Хеши были разные. Бу!
  • Открыл оба файла, выбрал одну и ту же ячейку в каждом файле. Сохраненные и закрытые файлы.
  • Сравнивал хеши... Хеши все же былиразные. Бууууу
  • Удалил один файл и повторно скопировал оставшийся файл.
  • Сравнивал хеши... Хеши были такие же. Ура!
  • Открыл один файл, вообще ничего не трогал!, сохраненный и закрытый файл.
  • Сравнивал хеши... Хеши все же былиразные. Буоооооооооооооо!

Итак, очевидно, что Excel просто не сохраняет файл стабильно. (или есть дата последнего сохранения?)

Есть ли способ получить стабильный хэш на основе содержимого ячеек листа?

1 ответ

Один из вариантов - использовать макрос для проверки листов. Если результат счетчика больше 0, то листы разные.

'~~~> Set the counter to 0.
i = 0

'~~~ Begin a double loop.
For r = 1 To SourceR

    For c = 1 To SourceC

        '~~~> Compare each cell in the two sheets.
        If SourceWS.Cells(r, c) <> TargetWS.Cells(r, c) Then

            If SourceWS.Cells(r, c) <> SourceWS.Range("CheckForUpdates") Then

                '~~~> Increase the counter by 1.
                i = i + 1

            End If

        End If

    Next c

Next r
Другие вопросы по тегам