对poi-excel导出的浅层理解

Posted wangxuejian

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了对poi-excel导出的浅层理解相关的知识,希望对你有一定的参考价值。

上一篇对excel导入做了浅层的解释,本文将对导出再做浅层解释.

仍然是相同的套路,只不过是反过来而已.

反过来方向理论上本来是这样的:cell-->row-->sheet-->workbook-->输出流--->硬盘文件file

但实际却不是这样的,为什么呢?因为单元格cell不会创建出一个row,更不会创建一个sheet,也不可能反向创建一个workbook,而workbook与输出流之间存在层级关系,但不存在包含被包含关系,所以导出的方向就变成这样了:

workbook-->sheet--->row--->cell--->写内容-->输出流--->硬盘文件file

是不是很合理,很符合人类思维?

所以现在开始:

1.首先从Workbook开始:Workbook wb = new HSSFWorkbook(); (//HSSF是用于xls的,如果想输出xlsx格式的,就用另一个实现类)

2.然后创建sheet:wb.createSheet("测试用工作簿")

3.然后创建row:sheet.createRow(0)//0表示第一行

4.然后创建cell:row.createCell(0)//0表示第一列

5.然后写内容:cell.setCellValue("测试用的内容")

6.然后获取输出流:FileOutputStream fos = new FileOutputStream(filepath)

7.然后流呀,流向输出流呀,流到硬盘文件呀:wb.write(fos)

8.然后,关闭资源:fos.close(),wb.close()

然后,就结束了,束了,了...

就这样简单!

但是还有一些细节需要注意:

9.上面的步骤只是说流程,没有区别对待只有一行的表头和有多行的表体,但过程都是一样的.此外,也没有考虑格式问题,不过这些都是小问题,百度很容易查到的

 

总结一下导出线索:

workbook-->sheet--->row--->cell--->写内容--->获取输出流--->流动--->关闭资源

记住了吗?

以上是关于对poi-excel导出的浅层理解的主要内容,如果未能解决你的问题,请参考以下文章

002-poi-excel-导出设置单元格数据校验规则

Java代码将数据导出Excel表格(Maven版本)

php 数据导出到excel 2种带有合并单元格的导出

Qt导出Excel的简单实现

用jxl导出Excel

phpoffice/phpspreadsheet对Excel导入导出操作