Java 创建 Excel 数据透视表 - Jazzz

jazz-z 2021-11-22 原文


Java 创建 Excel 数据透视表


Excel 数据透视表具有强大的数据处理功能,能够使表格中的数据更加直观化。使用Excel 数据透视表,能方便用户快速的排序、 筛选各种数据,同时也能满足用户对不同数据汇总的需求。本文将介绍如何在Java应用程序中创建Excel数据透视表及设置透视表的格式。

使用工具: Free Spire. XLS for Java ( 免费版 )

Jar文件导入方法

方法一:

下载最新的 Free Spire. XLS for Java 包并解压缩 , 然后从lib文件夹下, 将 Spire. Xls .jar包 导入 到你的Java应用程序中。 ( 导入成功 后 如下图所示 )

 

 

方法二:

通过 Maven仓库安装 导入 。 详细的操作步骤 请参考链接 :

https://www.e-iceblue.cn/licensing/install-spirepdf-for-java-from-maven-repository.html

 

Java代码示例

import com.spire.xls.*;
public class CreatePivotTable {
    public static void main(String[] args)  {

        //加载示例文档
        Workbook workbook = new Workbook();
        workbook.loadFromFile("Sample.xlsx");

        //获取第一个工作表
        Worksheet sheet = workbook.getWorksheets().get(0);

        //为需要汇总和创建分析的数据创建缓存
        CellRange dataRange = sheet.getCellRange("B1:D11");
        PivotCache cache = workbook.getPivotCaches().add(dataRange);

        //使用缓存创建数据透视表,并指定透视表的名称以及在工作表中的位置
        PivotTable pt = sheet.getPivotTables().add("Pivot Table", sheet.getCellRange("F4"), cache);

        //添加行字段
        PivotField pf=null;
        if (pt.getPivotFields().get("区域") instanceof PivotField){
          pf= (PivotField) pt.getPivotFields().get("区域");
        }
        pf.setAxis(AxisTypes.Row);
        PivotField pf2 =null;
        if (pt.getPivotFields().get("商品") instanceof PivotField){
          pf2= (PivotField) pt.getPivotFields().get("商品");
        }
        pf2.setAxis(AxisTypes.Row);

        //添加值字段
        pt.getDataFields().add(pt.getPivotFields().get("金额"), "求和项:金额", SubtotalTypes.Sum);

        //设置透视表样式
        pt.setBuiltInStyle(PivotBuiltInStyles.PivotStyleMedium12);

        //保存文档
        workbook.saveToFile("透视表.xlsx", ExcelVersion.Version2013);
    }
}

该代码演示的是汇总每个区域中各种商品销售的金额,生成的透视表如下图:

 

发表于
2020-04-27 15:30 
Jazzz 
阅读(1275
评论(0
编辑 
收藏 
举报

 

版权声明:本文为jazz-z原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/jazz-z/p/12787057.html

Java 创建 Excel 数据透视表 - Jazzz的更多相关文章

  1. commonJS — 浏览器操作(for Browser)

    for Browser github: https://github.com/laixiangran/comm […]...

  2. 正向代理设置 – 张居斜

    正向代理设置 squid 进行正向代理 背景介绍   有两台服务器A(内网IP:10.8.200.100) 与 […]...

  3. Wireshark抓包工具使用教程以及常用抓包规则 – ssllkkyy

    Wireshark抓包工具使用教程以及常用抓包规则 http://fangxin.blog.51cto.com […]...

  4. 02基于python玩转人工智能最火框架之TensorFlow人工智能&深度学习介绍 – 心默默言

    人工智能之父麦卡锡给出的定义 构建智能机器,特别是智能计算机程序的科学和工程。 人工智能是一种让计算机程序能够 […]...

  5. JAVA_OPTS – divl

    JAVA_OPTS 2020-08-20 16:47  divl  阅读(292)  评论(0)  编辑  收 […]...

  6. 谈谈前后端的分工协作 – Barret李靖

    谈谈前后端的分工协作 2014-08-03 01:06  Barret李靖  阅读(16501)  评论(4) […]...

  7. Java 中 IO 流分为几种?

    按功能来分:输入流(input)、输出流(output)。按类型来分:字节流和字符流。字节流和字符流的区别是: […]...

  8. 制作Windows XP万能克隆镜像 – jack_Meng

    制作Windows XP万能克隆镜像 制作Windows XP万能克隆镜像 战前分析:对于Windows XP […]...

随机推荐

  1. @Controller和@RestController的区别?

    @RestController注解相当于@ResponseBody + @Controller合在一起的作用 […]...

  2. ps调色技能

    色相/饱和度: 色相->当你看到一种颜色,你会很快的辨别他为什么颜色,比如说红色,绿色,黄色。选中某种颜 […]...

  3. UNIX网络编程-send、recv、sendto、recvfrom详解 – smartmhs

    send、recv和sendto、recvfrom,一般情况下,send、recv在TCP协议下使用,send […]...

  4. eclipse检出SVN代码的详细流程

    1.添加SVN资源库位置(未安装SVN,请先安装SVN)       2.因为该项目不是maven项目 所以还 […]...

  5. 美国 | USA B1/B2 十年签证到手记

    美国 | USA B1/B2 十年签证到手记 2019-08-10 13:25  音乐让我说  阅读(322) […]...

  6. 1.移植3.4内核-分析内核启动过程,重新分区,烧写jffs2文件系统

    1.在上章-移植uboot里.我们来分析下uboot是如何进入到内核的 首先,uboot启动内核是通过boot […]...

  7. SpringBoot2.x入门:依赖管理

    前提 这篇文章是《SpringBoot2.x入门》专辑的第1篇文章,使用的SpringBoot版本为2.3.1 […]...

  8. 【解决】Word怎么删除前面页码同时保留后面页码

    【解决】 1:在分界出插入分节符      2:编辑后面的页尾,取消勾选下列选框   3:编辑删除前面的页尾, […]...

展开目录

目录导航