使用Apache POI库检索excel中属性(列)的唯一值列表
我正在阅读一个excel文件,其中包含数百万个数据集logging,用于我的项目工作。 我的问题是,如何填充列(或属性)的每个分类variables可以具有的唯一值列表。 POI库中是否有预定义的函数可以完成这个任务,或者遗漏的唯一选项是遍历每一条logging,然后与已经存在的logging进行比较以确定新的logging。 谢谢。
一种方法是创build一个对象与所有列然后重写hashCode
和equals
这个对象的方法。
-
将Excel文件parsing为一个集合
-
然后遍历集合并将它们添加到
Set
。
对于包含每列的YourObject
:
@Override public int hashCode(){ return new HashCodeBuilder() .append(column1) .append(column2) .toHashCode(); } @Override public boolean equals(final Object obj){ if(obj instanceof YourObject){ final YourObject other = (YourObject) obj; return new EqualsBuilder() .append(column1, other.column1) .append(column2, other.column2) .isEquals(); } else{ return false; } }
将每个项目添加到一个Set
:
Set<YourObject> setOfObjects= new HashSet<YourObject>(); setOfObjects.add(yourObject);
设置文档。