poi 输出Excel显示内容

在业务系统中多少回接触到Excel解析。在java开发平台下选择 Apache POI是一个非常明智的选择,POI提供非常完善API来读取或写入Microsoft Office Excel。

目前对导入的数据都会进行二次加工,我们开发模式就是先把Excel中的内容直接原样导入数据库对应的一张数据表中,然后再进行二次加工。什么是原样,那就是我们在excle看到是什么样的,导入的数据就是什么样的,那怎样实现呢?

首先考虑到,exce另存为csv,然后在解析csv就可以,excel另存为csv后,如下

poi 输出Excel显示内容

似乎这样就可以了,但用户上传的Excel文件通过后台转换csv文件也麻烦(PS:其实我都不知道怎么转,有知道的朋友还希望能分享下),说好不是用POI的么,那么接下来我们了解下POI中处理Excel的一些信息

poi 输出Excel显示内容

从上图得知,POI类中带HSSF的是处理03格式的,XSSF是处理07以上格式的,废话不多说了,先看看原样输出的一个重要角色 DataFormatter,

查阅官方文档,红框的地方清楚说明了,就是现实Excel中的现实的文本

poi 输出Excel显示内容

这里对于公式类型的还需要判断下,

1 DataFormatter df = new DataFormatter(); 2 if (cell.getCellType() == cell.CELL_TYPE_FORMULA) { 3 FormulaEvaluator formulaEval = wb.getCreationHelper().createFormulaEvaluator(); 4 value = df.formatCellValue(cell, formulaEval); 5 } else { 6 value = df.formatCellValue(cell); 7 }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzdffs.html