这篇文章主要介绍了java基于poi导出excel透视表代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

从前,我是一个前端程序猿,怀着对打通任(前)督(后)二(开)脉(发)的梦想转了后端,自学两礼拜java+spring全家桶,直接上项目实战。最近接到一需求:将业务数据导出一张透视表。

需求开发完成已近有一段时间了,甲方的大爷大妈,爷爷奶奶们也都用的很开心,我也很开心,于是就心想咱学了也不能白学,所以写下这篇随笔。

先看下用easypoi+POI导出的excel效果图(easypoi用来导出sheet1数据源,poi用来sheet0透视表):

图中的excel分为两个sheet, sheet1是数据源,sheet0是根据sheet的数据生成的透视表。代码如下:

// 利用esaypoi生成excel数据,即sheet1里面的数据

Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams(null, "sheet1", ExcelType.XSSF), pojoClass, list);

Sheet sheet1 = workbook.getSheetAt(0);

sheet1.setDefaultColumnWidth(50 * 256);

sheet1.setDefaultRowHeight((short)(2 * 256));

// 创建数据透视sheet

XSSFSheet pivotSheet = (XSSFSheet )workbook.createSheet();

pivotSheet.setDefaultColumnWidth(50 * 256);

// 获取数据sheet的总行数

int num = sheet1.getLastRowNum();

// 数据透视表数据源的起点单元格位置

CellReference topLeft = new CellReference("A1");

// 数据透视表数据源的终点单元格位置

CellReference botRight = new CellReference(("M"+num));

// 数据透视表生产的起点单元格位置

CellReference ptStartCell = new CellReference("A1");

AreaReference areaR = new AreaReference(topLeft, botRight);

XSSFPivotTable pivotTable = pivotSheet.createPivotTable(areaR, ptStartCell, sheet1);

// 添加行标签

pivotTable.addRowLabel(4); // 部门

pivotTable.addRowLabel(1); // 科目

pivotTable.addRowLabel(0); // 借贷方向

pivotTable.addRowLabel(11); // 单据编号

pivotTable.addRowLabel(12); // 凭证编号

pivotTable.addRowLabel(9); // 付款编码

pivotTable.addRowLabel(10); // 付款时间

pivotTable.addColumnLabel(DataConsolidateFunction.SUM, 3, "分录金额");

// 将透视表的列以表格的样式显示 这个地方弄了好久

int count = 13; // count为数据源的列的数量

for (int i = 0; i < count; i++) {

CTPivotField ctPivotField = pivotTable.getCTPivotTableDefinition().getPivotFields().getPivotFieldArray(i);

ctPivotField.setOutline(false);

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

时间: 2019-12-20

cpu java poi 导出_java基于poi导出excel透视表代码实例相关推荐

  1. java自动生成生成java透视表_java基于poi导出excel透视表代码实例

    这篇文章主要介绍了java基于poi导出excel透视表代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 从前,我是一个前端程序猿,怀着对打通 ...

  2. java excel 透视_java基于poi导出excel透视表代码实例

    这篇文章主要介绍了java基于poi导出excel透视表代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 从前,我是一个前端程序猿,怀着对打通 ...

  3. java excel 展开折叠_java创建和刷新excel透视表,还可设置透视表行折叠和展开的实例...

    码农公社  210.net.cn  210是何含义?10月24日是程序员节,1024 =210.210既 210 之意. java创建和刷新excel透视表,还可设置透视表行折叠和展开的实例 透视表是 ...

  4. java excel 展开折叠_Java 创建、刷新Excel透视表/设置透视表行折叠、展开

    透视表是依据已有数据源来创建的交互式表格,我们可在excel中创建透视表,也可编辑已有透视表.本文以创建透视表.刷新透视表以及设置透视表的行展开或折叠为例,介绍具体的操作方法. 所需工具:Free S ...

  5. Java输出箭头_java基于XSSF 导出带箭头的直线

    代码: XSSFSheet sheet = workbook.getSheetAt(0); XSSFDrawing patriarch = sheet.createDrawingPatriarch() ...

  6. java动物代码_Java基于接口实现模拟动物声音代码实例

    (1)编写接口Animal (Animal.java) public interface Animal{ public abstract void cry(); public abstract Str ...

  7. java nginx 例子_Java及nginx实现文件权限控制代码实例

    我们知道,使用nginx作为文件下载服务器,可以极大地降低对后端Java服务器的负载冲击,但是nginx本身并不提供授权控制,因此好的方案是由后端服务器实现权限控制,最好的方式是直接复用应用的认证体系 ...

  8. 曼哈顿距离java实现_基于javascript实现获取最短路径算法代码实例

    这篇文章主要介绍了基于javascript实现获取最短路径算法代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 代码如下 //A算法 自动寻路 ...

  9. java代码读取excel文件_Java 读取excel 文件流代码实例

    这篇文章主要介绍了Java 读取excel 文件流代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 代码如下 public static vo ...

最新文章

  1. 学python推荐书籍-零基础学python推荐几本python学习的书籍
  2. 《浙江省推动数据中心能效提升行动方案(2021-2025年)》出炉
  3. 河南省第十三届ICPC大学生程序设计竞赛 【部分题题解】
  4. 并发运行的最佳实践_并发最佳实践
  5. Pytorch(2)-tensor常用操作
  6. Linux CentOS6离线安装Jupyter notebook
  7. Error parsing XML: not well-formed (invalid token)
  8. java崩溃停在崩溃代码上_通过编写Java代码让Jvm崩溃
  9. oracle数据库中标识列,Oracle数据库标识列
  10. 完美代码,让你的代码无懈可击
  11. 亲戚关系关系算法java程序_亲戚关系计算器 算法实现
  12. 完整的生产车间管理流程是怎样的?六大步骤分享
  13. 如何创建一个微信公众号(手把手、超详细)
  14. 深度学习工作站攒机指南
  15. 关于脚本录制和回放终端会话(script、scriptreplay)使用
  16. 【资源】什么是原生广告 What Is Native Advertising?
  17. 谈谈培训机构的-骗局-怎么避免被坑
  18. JCJC错别字检测系统仅需6G内存
  19. 通俗的解释『多项式时间』
  20. imagemin图片压缩

热门文章

  1. Codeforces Round #247 (Div. 2)C. k-Tree(动态规划)
  2. [转载]我们应该更依赖手机一点
  3. docker入门及安装
  4. Oracle 截取字符串,取系统时间
  5. java学习与总结:线程池
  6. ios 静态方法是否能被重写_小米新系统亮相,比苹果iOS更干净,21款手机支持升级...
  7. php 引入类_PHP 如何引入同一文件下多个class类
  8. rabbitmq优先级队列
  9. 060_Unicode字符编码
  10. 002_jQuery语法