Java 操作Excel表格
项目经理安排了一个活,让我修改一下原来的excel生成规则。
以前也接触过,就是用POI包下面的XSSFWorkbook 操作就可以了。但是这里面涉及到一个excel的二维表数据的实现。
以下是我的实现的一个思路,当然也可以用其他方式实现。
从数据库查出来的数据是这样的:
我需要在excel表格显示成这样:
这里包含一些中英文的处理,这里就不说了。
先从数据看获取数据,把出发地、目的地的数据放到hashmap中,(“出发地”,“总天数”)、(“目的地”,“总天数”),称为A和B吧。
再从数据库group by 出发地,目的地获取数据库,并将数据变成(“出发地-目的地”,“总天数”)的hashmap,称为C。
准备工作到此结束,开始往excel写数据。(还有一部分Total Days的处理,也不详细说了,比较简单)
(1)将出发地的数据写上去。就是A的key值。
(2)再写目的地的数据。就是B的key值。
(3)最重要的一步。(其实就是套俩for循环)。
for(Object key1 : A.keySet() ){
for(Object key2 : B.keySet() ){
String key = key1+"-"+kye2
1.判断C中是否包含key
2.若包含,输出值,若不包含,输出‘0’。
}
}
最后就变成这样了。