1

我不想知道有什么区别,我只想知道“是/否这些床单是否相同?”

不幸的是,表面上散列文件并不能回答这个问题:(

具体来说 ...

  • 我拿了一个 .XLSX 文件,并对其进行了文件复制。
  • 比较哈希...哈希是相同的。耶!
  • 打开一个文件,单击一个单元格,保存并关闭文件。
  • 比较哈希...哈希是不同的。嘘!
  • 打开两个文件,在每个文件中选择相同的单元格。保存和关闭的文件。
  • 比较哈希...哈希仍然 不同呜呜!
  • 删除了一个文件并重新复制了剩余的文件。
  • 比较哈希...哈希是相同的。耶!
  • 打开一个文件,根本没有碰任何东西!,保存和关闭的文件。
  • 比较哈希...哈希仍然 不同呜呜呜呜!

因此,显然 Excel 并没有以稳定的方式保存文件。(或者已经包括最后保存的日期?)

有没有办法根据工作表的单元格内容获得稳定的哈希?

4

1 回答 1

0

一种选择是使用宏来检查工作表。如果计数器的结果大于 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
于 2019-09-22T16:09:45.717 回答