如何将Java中的Excel文件与DBUnit进行比较

如何将Java中的Excel文件与DBUnit进行比较,java,excel,compare,dbunit,Java,Excel,Compare,Dbunit,我需要比较两个Excel文件,以找出任何类型的内容差异。 不考虑格式/颜色/字体差异。 我遵循了在中找到的解决方案,但它基于DBUnit XlsDataSet类。 此类工作的前提是Excel文件具有特定结构: 第一行应表示表格标题。在我的环境中,这并不总是正确的。 例如,表头可能从单元格C4开始 但是,我希望坚持使用DBUnit,因为它提供了强大的支持。 有人知道如何在XlsDataSet类中配置表头的起始位置吗 感谢并问候当一个文件的表头从C4开始,另一个从A1开始时,它们已经不同了 为了比较

我需要比较两个Excel文件,以找出任何类型的内容差异。 不考虑格式/颜色/字体差异。 我遵循了在中找到的解决方案,但它基于DBUnit XlsDataSet类。 此类工作的前提是Excel文件具有特定结构: 第一行应表示表格标题。在我的环境中,这并不总是正确的。 例如,表头可能从单元格C4开始

但是,我希望坚持使用DBUnit,因为它提供了强大的支持。 有人知道如何在XlsDataSet类中配置表头的起始位置吗


感谢并问候

当一个文件的表头从C4开始,另一个从A1开始时,它们已经不同了

为了比较从不同单元格开始的数据,我可以想出两种方法

  • 比较之前,检查是否有空行/列,将内容移动到第一行/列
  • 在文件中包含一个“关键字”,作为起点

  • 这两种方法都需要大量的工作。也许更容易适应您的环境,所以所有文件都从A1开始。

    谢谢您的回复。我的意思是两个文件都是从C4开始的。我可以接受,如果它们从不同的细胞开始,它们是不同的。但XlsDataSet似乎无法做到这一点。我不熟悉XlsDataSet,但是看一下手册,没有办法从另一个单元开始。如我所说,在使用此方法之前,需要将exel文件转换为正确的格式。我的想法是检查包含数据的第一行和第一列。然后必须覆盖旧表或创建新表,将数据传输到第一行。看看链接,它解释了如何读写单元格。在这里,我让你思考:)如果你面临具体问题,请随意提问。