Java 在Excel中创建透视表

本文内容介绍通过Java程序在Excel表格中根据数据来创建透视表。

环境准备

需要使用Excel类库工具—Free Spire.XLS for Java,这里使用的是免费版,可通过官网下载Jar包并解压,手动导入lib文件夹下的Spire.Xls.jar到Java程序;或者也可以通过Maven仓库下载导入

Java****代码示例

1import com.spire.xls.*; 2 3public class CreatePivotTable { 4 public static void main(String[] args) { 5 //加载Excel测试文档 6 Workbook wb = new Workbook(); 7 wb.loadFromFile("test.xlsx"); 8 9 //获取第一个的工作表 10 Worksheet sheet = wb.getWorksheets().get(0); 11 12 //为需要汇总和分析的数据创建缓存 13 CellRange dataRange = sheet.getCellRange("A1:D10"); 14 PivotCache cache = wb.getPivotCaches().add(dataRange); 15 16 //使用缓存创建数据透视表,并指定透视表的名称以及在工作表中的位置 17 PivotTable pt = sheet.getPivotTables().add("PivotTable",sheet.getCellRange("A12"),cache); 18 19 //添加行字段1 20 PivotField pf1 = null; 21 if (pt.getPivotFields().get("月份") instanceof PivotField){ 22 pf1 = (PivotField) pt.getPivotFields().get("月份"); 23 } 24 pf1.setAxis(AxisTypes.Row); 25 26 //添加行字段2 27 PivotField pf2 = null; 28 if (pt.getPivotFields().get("厂商") instanceof PivotField){ 29 pf2 = (PivotField) pt.getPivotFields().get("厂商"); 30 } 31 pf2.setAxis(AxisTypes.Row); 32 //设置行字段的标题 33 pt.getOptions().setRowHeaderCaption("月份"); 34 35 //添加列字段 36 PivotField pf3 = null; 37 if (pt.getPivotFields().get("产品") instanceof PivotField){ 38 pf3 = (PivotField) pt.getPivotFields().get("产品"); 39 } 40 pf3.setAxis(AxisTypes.Column); 41 //设置列字段标题 42 pt.getOptions().setColumnHeaderCaption("产品"); 43 44 //添加值字段 45 pt.getDataFields().add(pt.getPivotFields().get("总产量"),"求和项:总产量",SubtotalTypes.Sum); 46 47 //设置透视表样式 48 pt.setBuiltInStyle(PivotBuiltInStyles.PivotStyleDark12); 49 50 //保存文档 51 wb.saveToFile("数据透视表.xlsx", ExcelVersion.Version2013); 52 wb.dispose(); 53 } 54}

透视表创建结果:

<完>

点赞
收藏

评论区

加载中...

相关推荐

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

UIPath入门系列三之操作Excel表格

介绍如何使用UIPath操作Excel一、Excel/Workbooks与DataTables的区别Excel/Workbooks是一个excel文件,里面可以存储各种类型的数据,可格式化,布局,合并单元格及多个数据表DataTables只是最简单的电子表格数据类型,只有行和列和可选标题

java使用POI将数据导出放入Excel

本文主要是将数据库取出的数据按照自定义的行列格式导出到excel中,POI则是实现我们需求所用到的技术。POI介绍使用springboot导入相关依赖获取数据(自行处理)完整代码实例:创建excel,将数据写入excel1.POI介绍要想使用POI对Excel进行操作,我们需要先了

Python数据分析实战(2)使用Pandas进行数据分析

一、Pandas的使用1.Pandas介绍Pandas的主要应用包括:数据读取数据集成透视表数据聚合与分组运算分段统计数据可视化Pandas的使用很灵活,最重要的两个数据类型是DataFrame和Series。对DataFrame最直观的理解是把它当成一个Excel表格文件,如下:索引是从0开始的,也

ABAP学习(16):ABAP2XLSX,操作excel

ABAP2XLSX   ABAP2XLS是一个操作EXCEL的开源项目,相比较OLE2和DOI方式操作excel更加方便。   ABAP中搜索ZDEMO\_EXCEL\搜索Program可以查看SAP提供的示例程序,实现多种Excel。1.创建excel   Excel类:zcl\_excel类

EasyExcel写入百万级数据到多sheet

EasyExcel是什么?快速、简单避免OOM的java处理Excel工具一、项目需求    从mongo库中查询数据,导出到excel文件中。但是动态导出的excel有多少列、列名是什么、有多少sheet页都需要动态获取。所以生成的excel也必须是动态生成,不能通过注解配置对象映射。而且写入的数据量,有可能达到100W级,使用传统的PO