Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ApachePOI:比较工作表的简单方法?_Apache_Compare_Apache Poi - Fatal编程技术网

ApachePOI:比较工作表的简单方法?

ApachePOI:比较工作表的简单方法?,apache,compare,apache-poi,Apache,Compare,Apache Poi,我需要用ApachePOI比较两个工作表。有没有一种简单的方法可以做到这一点,例如工作表比较函数,或者我必须比较每个单元格?尝试迭代所有单元格,并计算一个正在运行的哈希或类似的内容。运行两次,每个工作表运行一次,如果哈希相同,则工作表相同。好了,没有现成的方法可以做到这一点 我认为这是一种比在单元格与单元格之间进行比较更好的方法,因为一次只打开一个工作表,而不是一个单元格一个单元格的方法打开两个工作表。尝试迭代所有单元格,并计算运行的哈希或类似的内容。运行两次,每个工作表运行一次,如果哈希相同,

我需要用ApachePOI比较两个工作表。有没有一种简单的方法可以做到这一点,例如工作表比较函数,或者我必须比较每个单元格?

尝试迭代所有单元格,并计算一个正在运行的哈希或类似的内容。运行两次,每个工作表运行一次,如果哈希相同,则工作表相同。好了,没有现成的方法可以做到这一点


我认为这是一种比在单元格与单元格之间进行比较更好的方法,因为一次只打开一个工作表,而不是一个单元格一个单元格的方法打开两个工作表。

尝试迭代所有单元格,并计算运行的哈希或类似的内容。运行两次,每个工作表运行一次,如果哈希相同,则工作表相同。好了,没有现成的方法可以做到这一点


我认为这是一种比在单元格对单元格的基础上进行比较更好的方法,因为一次只打开一个工作表,而不是在单元格对单元格的方法中打开两个工作表。

因为这是Google上关于比较POI工作簿的第一个问题之一,我想分享一个适用于单元测试的解决方案。我找到了一个很好的Hamcrest matcher来解决这个问题:

基本上,通过Github自述文件中详细介绍的Maven导入库。一旦有了两本POI工作簿,就可以编写一个类似于以下内容的断言:

MatcherAssert.assertThat("Workbooks to be identical", actualWorkbook,
    WorkbookMatcher.sameWorkbook(expectedWorkbook));
注意:我在这里使用MatcherAssert来获取关于比较的更详细的注释,但是JUnitAssert也是可用的。这在作者的网站上有所记载


它可以在作者的网站上找到。

由于这是Google上关于比较POI工作簿的第一个问题之一,我想分享一个适用于单元测试的解决方案。我找到了一个很好的Hamcrest matcher来解决这个问题:

基本上,通过Github自述文件中详细介绍的Maven导入库。一旦有了两本POI工作簿,就可以编写一个类似于以下内容的断言:

MatcherAssert.assertThat("Workbooks to be identical", actualWorkbook,
    WorkbookMatcher.sameWorkbook(expectedWorkbook));
注意:我在这里使用MatcherAssert来获取关于比较的更详细的注释,但是JUnitAssert也是可用的。这在作者的网站上有所记载


它可以通过作者的网站获得。

您如何定义比较?你们有什么相同/不同的商业规则?风格?细胞?目录颜色?etcif单元格中的值不同,那么单元格也不同,工作表也不同。您如何定义比较?你们有什么相同/不同的商业规则?风格?细胞?目录颜色?etcif单元格中的值不同,则单元格不同,工作表也不同