2012-12-07 115 views
0

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

但是,我想坚持DBUnit,因为它提供了很好的支持。 是否有人知道如何配置表头在XlsDataSet类中的起始位置?

感谢和问候

回答

0

当一个文件的表头开始于C4,另一个在A1他们已经是不同的。

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

  1. 比较之前,检查空的行/列,将内容移动到第一行/列。
  2. 在文件中加入一个“关键字”作为起点。

这两种方式都需要大量的工作。也许更容易调整你的envionment,所有文件都从A1开始。

+0

感谢您的回复。我的意思是这两个文件都是从C4开始的。我可以接受,如果他们从不同的细胞开始,他们是不同的。但是XlsDataSet似乎无法做到这一点。这可以以某种方式完成吗? – Vincenzo

+0

我不熟悉XlsDataSet,但看着手册有没有办法开始在另一个单元格。 就像我说过的,在使用这种方法之前,您需要将exel文件转换为适当的格式**。我的想法是检查包含数据的第一行和第一列。然后你必须覆盖旧表或创建一个新表,将数据传输到第一行。看看[this](http://www.vogella.com/articles/JavaExcel/article.html)链接,它解释了如何读取和写入单元格。从这里我让你做的思想:)如果你遇到特定的问题随时问。 – Lotzki

相关问题