• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

星月*夜

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

poi表格的解析与生成

在程序开发中,数据可能会是通过解析上传的表格解析获取的,页面上展示的数据可能会要生成报表供客户查看,因此表格的解析与生成也是开发中重要的一部分。

表格的解析与生成都是使用的apache的poi包,其中XSSFWorkbook、HSSFWorkbook都可以进行表格的解析与生成,但是两者是有区别的:

HSSFWorkbook:是操作Excel2003以前(包括2003)的版本,扩展名是.xls

XSSFWorkbook:是操作Excel2007的版本,扩展名是.xlsx

1、  表格的解析(获取表格数据)

表格解析的过程:首先获取表格文件,然后获取到sheet页,再通过获取到对应行,最后获取单元格信息,代码如下:

 

其中最后一步是一个数据类型转换,因为我们从表格中取出的数据不确定是什么类型,因此我这边全部转换成了String,具体转换代码如下图:

 

循环遍历,将表格中的值取出来,然后进行判断、解析、入库即可。

2、  表格的生成(生成报表)

表格生成的过程:首先读取流,然后设置字体,边框样式,再获取sheet页,创建行,创建单元格,放值,放样式,最后再用输出流写出来。代码如下:

 

对于单元格样式,建议通过api自行选择,本文只提两个方面,一个是合并,另外一个是关于数据格式(会计专用的格式)。

2.1、合并

 合并单元格使用的是poi里自带的方法:

 

参数1:起始行 参数2:终止行 参数3:起始列 参数4:终止列

2.2、数据的格式处理

报表一般作为会计专用,金额上会按照会计专用的形式进行展示,那么,在我们生成表格的时候该如何处理呢?

具体的处理就是讲数据的格式定义好,放到单元格的格式里:

 

其中"_ * #,##0.00_ ;_ * -#,##0.00_ ;_ * \"-\"??_ ;_ @_ "即为会计专用的转换代码。

posted on 2017-02-20 14:47  星月*夜  阅读(1193)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3