首先是通过查询语句获取到二维数组的结果集,之后调用excel的模板或者直接创建工作薄对象WritableWorkbook,将数据写入。此时工作薄对象内是类似用SQL语句在Navicat等工具内查询时显示。
此时如果需要对相同记录的相同列内容进行合并,如大小项时,或者按类别分类后,合并类别那一列等情况。在合并时逻辑上是根据要合并的列来GROUP BY。 然后取第一条数据,依次与之后的进行比较,如果相同则合并,不同则用下一条记录比较。
原理:但实现时,可以先将第i条数据与第i+1条比较,如果相同则记录行号i+1,再与下一条i+2比较,直到i+n不同时,合并第i-(i+n-1)条。
注意: 此时正常情况下会将第i+1条执行以上循环,由于他已经被合并了,所以会提示合并警告,提示无法合并。因此,在每次合并完后,需要将合并的最后行数-1 作为比较的起始行, 如上一次合并了第1-5条,则下一次需要从5开始跟6比较,为什么不直接从6开始,是因为这样可以避免合并空行。
部分代码截图如上,这是第一次写博客,用来记录自己这段时间的一丢丢收获吧。有错误的话帮忙指出下谢谢