zoukankan      html  css  js  c++  java
  • 对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--->写内容--->获取输出流--->流动--->关闭资源

    记住了吗?

  • 相关阅读:
    android videoView 加载等待
    LocalBroadcastManager
    sessionStorage 、localStorage
    javascript 数组、json连接
    properties 文件注意事项
    nutz 使用beetl
    [Git/Github] ubuntu 14.0 下github 配置
    【UNIX环境编程、操作系统】孤儿进程和僵尸进程
    【操作系统】进程间通信
    【操作系统】线程
  • 原文地址:https://www.cnblogs.com/wangxuejian/p/10416022.html
Copyright © 2011-2022 走看看