如何使用Java以编程方式在Excel中创建数据透视表?

2023-11-08

Excel电子表格中的数据透视表用于以交互方式汇总数据。假设在工作表中有许多发票的数据。在这种情况下,可以使用数据透视表汇总按客户或产品分组的发票。在本文中,将学习如何以编程方式处理Excel中的数据透视表。特别是,将了解如何在Java中创建数据透视表并基于该数据透视表生成图表。

  • 使用Java在Excel中创建数据透视表
  • 使用数据透视表生成图表

为了使用Excel数据透视表,我们将使用Aspose.Cells for Java,它是一个功能强大的API,可让您从Java应用程序内部生成,修改和转换Excel文件。点击下方按钮可下载试用。下载最新版

使用Java在Excel中创建数据透视表

以下是使用Java在Excel中创建数据透视表的步骤。

  • 使用工作簿类创建一个新的或加载一个现有的Excel文件。
  • 用数据填充工作表(可选)。
  • 使用Worksheet.getPivotTables()方法将数据透视表收集到一个PivotTableCollection对象中。
  • 使用PivotTableCollection.add(string, string, string)方法添加一个新的透视表,并在PivotTable对象中获得其引用。
  • 设置选项,如总计、格式化等。
  • 使用PivotTable.addFieldToArea(int, int)方法向区域添加字段。
  • 使用Workbook.save(string)方法保存工作簿。

下面的代码示例演示如何使用Java在Excel中添加数据透视表。

// Instantiate an Workbook object
Workbook workbook = new Workbook("worksheet.xlsx");

// Access the sheet
Worksheet sheet2 = workbook.getWorksheets().get(1);

// Get the pivottables collection in the sheet
PivotTableCollection pivotTables = sheet2.getPivotTables();

// Add a PivotTable to the worksheet
int index = pivotTables.add("=Data!A1:F30", "B3", "PivotTable1");

// Access the instance of the newly added PivotTable
PivotTable pivotTable = pivotTables.get(index);

// Show the grand totals
pivotTable.setRowGrand(true);
pivotTable.setColumnGrand(true);

// Set the PivotTable report is automatically formatted
pivotTable.setAutoFormat(true);

// Set the PivotTable autoformat type.
pivotTable.setAutoFormatType(PivotTableAutoFormatType.REPORT_6);

// Drag the first field to the row area.
pivotTable.addFieldToArea(PivotFieldType.ROW, 0);

// Drag the third field to the row area.
pivotTable.addFieldToArea(PivotFieldType.ROW, 2);

// Drag the second field to the row area.
pivotTable.addFieldToArea(PivotFieldType.ROW, 1);

// Drag the fourth field to the column area.
pivotTable.addFieldToArea(PivotFieldType.COLUMN, 3);

// Drag the fifth field to the data area.
pivotTable.addFieldToArea(PivotFieldType.DATA, 5);

// Set the number format of the first data field
pivotTable.getDataFields().get(0).setNumber(7);

// Save the Excel file
workbook.save("pivotTable.xls");

Excel表格

Excel处理开发工具Aspose.Cells功能演示:使用Java以编程方式在Excel中创建数据透视表

数据透视表

Excel处理开发工具Aspose.Cells功能演示:使用Java以编程方式在Excel中创建数据透视表

使用Java中的Excel数据透视表生成图表

以下是使用Java中的Excel数据透视表生成图表的步骤。

  • 使用工作簿类创建一个新的或加载一个现有的Excel文件。
  • 填充工作表(可选)。
  • 使用Workbook.getWorksheets().add(SheetType.CHART)方法添加一个新的图表类型的工作表,并在一个工作表对象中获得其引用。
  • 使用Worksheet.getCharts().add()方法添加一个新的图表,并在Chart对象中获得其引用。
  • 使用Chart.setPivotSource(string)方法将透视表设置为图表的数据源。
  • 使用Workbook.save(string)方法保存工作簿。

下面的代码示例显示了如何在Java中使用Excel透视表生成图表。

// Instantiate an Workbook object
 Workbook workbook = new Workbook("pivotTable.xls");
 
 // Add a new sheet
 int sheetIndex = workbook.getWorksheets().add(SheetType.CHART);
 Worksheet sheet3 = workbook.getWorksheets().get(sheetIndex);
 
 // Name the sheet
 sheet3.setName("PivotChart");
 
 // Add a column chart
 int chartIndex = sheet3.getCharts().add(ChartType.COLUMN, 0, 5, 28, 16);
 Chart chart = sheet3.getCharts().get(chartIndex);
 
 // Set the pivot chart data source
 chart.setPivotSource("PivotTable!PivotTable1");
 chart.setHidePivotFieldButtons(false);
 
 // Save the Excel file
 workbook.save("pivotChart_test.xls"); 

如果您有任何疑问或需求,请随时加入Aspose技术交流群(761297826),我们很高兴为您提供查询和咨询。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用Java以编程方式在Excel中创建数据透视表? 的相关文章

  • 如何从示例中给出的某些输入自动生成某些 Excel 字符串?

    基本上我想要在Excel中执行以下操作 如果我在表 1 中输入以下内容 我需要它 A B C 1 Name Size Color 2 Shirt S M L Red Green 3 Trouser 32 34 White Black Gre
  • 如何将 Summary() 输出从 R 复制到 Excel

    你能传输 复制a的输出吗summary方法 如下所示 到 Excel 工作表 gt summary p2p dt SKILL A p2p dt SKILL A Patch in c BVG1 Patch Skill Date TOR MWF
  • SSIS Excel 导入强制错误的列类型

    我正在尝试使用 SSIS 将电子表格导入到我们的数据库中 由于某种原因 当其中两列包含字符数据时 SSIS 希望相信它们的类型为 Double 我尝试将列重新映射为 nvarchar 255 但它仍然不想选择它认为是双精度的数据 因为其中有
  • 如何在 Excel 中使用 VBA 删除“*”或“-”字符后面的文本?

    我编写了以下代码 使用 Excel 中的 VBA 删除某一行中 或 字符后面的文本 但出现错误 Sub Removetext For Each c In Range A1 ZZ1 c Value Left c Value InStr c V
  • 如何使用 xlwings 从 Python 调用 Excel 宏?

    我读过API docs http docs xlwings org api html对于 xlwings 并在解释器中使用 Workbook 和 Sheet 对象 但我不知道如何从 Python 调用宏 如何使用 xlwings 从 Pyt
  • django pandas dataframe 下载为 Excel 文件

    我有一个 Django 应用程序 将放置在 Docker 容器中 该应用程序以 Dataframe 格式准备数据 我想允许用户将数据作为 Excel 文件下载到他 她的本地驱动器 我过去使用过 df to excel 但这在这种情况下不起作
  • Windows 更新后 Excel 2010 ActiveX 控件不再工作 [重复]

    这个问题在这里已经有答案了 因此 在工作中 我在安装了最新的 Windows 7 更新 包括 Microsoft Office 2010 更新 后遇到了这个问题 更新的日期是今天 2014 年 12 月 12 日 更新后 我在 Excel
  • 如何将 xlsx 读取为 pandas 数据框,并将公式作为字符串

    我有一个包含一些计算列的 Excel 文件 例如 我在 a 列中有一些数据 而 b 列是使用 a 列中的值计算的 我需要将新数据附加到 a 列并计算 b 列并保存文件 import pandas as pd df pd DataFrame
  • 如何下载到 Excel?

    我想为我的 Coldfusion 网站不同部分上的几组不同数据提供 下载到 Excel 功能 我正在使用 Coldfusion 并且希望使用免费的自定义标签 库来帮助我完成此任务 而不是自己从头开始编码 我被指出cflib org http
  • =MATCH() 等价于多维范围

    我有一个 Excel 工作表 其中单元格 A1 C20 INT RAND 10 这是我的数据范围 单元格 E1 1 E2 2 E3 3 等 这些是我试图找到的值 我设置单元格 F1 MATCH E1 A C 0 F2 MATCH E1 A
  • 使用 Excel-VBA(MSXML2.XMLHTTP 对象)更新 SharePoint 列表

    基本信息 我需要从 Excel 更新 添加 编辑 SharePoint 列表 我能够做到这一点ListObject 但这不是我们要走向的方向 在阅读了所有谷歌可能性后 我想出了 也许我错了 使用的想法MSXML2 XMLHTTP对象来更新
  • 从“查找”结果中出现“下标超出范围”错误

    我想在 Excel 工作表中查找一个字符串 Excel 单元格值是使用公式计算的 当我运行这段代码时 Set firstExcel CreateObject Excel application firstExcel Workbooks Op
  • Countif 不适用于小时和/或日期

    您好 我有 3 列内的数据 A 目的地 例如洛杉矶 B 承运人 例如 Ups C 发货时间 预计 4 00 使用的时间是24小时时间 不含Am Pm 我需要进行计数才能知道在特定时间我们有多少批货物 尝试过 COUNTIF A1 A100
  • 使用 R Shiny 从 XLConnect 下载 Excel 文件

    有没有人尝试过使用 R Shiny 中的下载处理程序通过 XLConnect 下载新创建的 Excel 文件 在 ui R 中有一行不起眼的行 downloadButton downloadData Download 在 server R
  • 使用 VBA 的下拉菜单

    我需要使用 VBA 从下拉菜单中选择特定选项 我怎样才能做到这一点 链接到我们试图从中提取的网页 IE document getElementsByName down count click 我尝试过的代码 Full Module Priv
  • xlwings: 删除一个列 | Excel 中的行

    如何删除 Excel 中的一行 wb xw Book Shipment xlsx wb sheets Page1 1 range 1 1 clear clear 用于删除内容 我想删除该行 我很惊讶 clear 函数有效 但 delete
  • 如何在VBA编辑器中跳转到行号?

    我在 Office 2010 中使用 VBA 在顶部 有一个带有行号和列号的框 例如 Ln 1480 Col 17 有没有办法在代码编辑中 而不是在执行中 直接跳转到另一个行号 就像我使用的那样Ctrl G在记事本中 这个MSDN答案 ht
  • excel 2010刷新BackgroundQuery中运行时错误1004

    我正在尝试用 vba 编写一个脚本 用于将多个文本文件导入 Excel 一张纸 然后将它们绘制在一张图表上 我面临一个问题刷新后台查询命令并出现 1004 运行时错误 我怎样才能解决它 谢谢 埃亚勒 这是我的代码 Sub fring1 Di
  • 导出到excel时如何显示前导零?

    我正在通过更改内容类型来创建 Excel 报告 Response ContentType application vnd ms excel 我有包含前导零的值 问题是导出到 Excel 时缺少前导零 e g 000123 gt 123 我知
  • 如何找到特定程序的安装目录?

    我已经成功地编写了一些用于工作的 VBA 宏 这些宏基本上创建了一个数据文件 将其提供给一个程序并对该程序的输出进行后处理 我的问题是程序安装路径是硬编码在宏中的 并且安装在我同事的计算机上可能会有所不同 我首先想到的是 我可以从每个人那里

随机推荐

  • codeblocks安装后出现问题的可能解决办法

    昨天在写cf的时候遇到了一个问题 因为办公室这台电脑我是刚用 没有装过codeblocks之前 在用到花括号构造的时候报错 如图 不能直接用花括号了 这我能忍 按照以往的经验来说 是compiler出现了问题 于是设置了一下 看起来好像对了
  • msvcr120.dll丢失的解决方法,win10系统dll报错解决方法

    今天 我将和大家分享一个在win10系统中经常遇到的问题 msvcr120 dll丢失 相信很多朋友在使用电脑的过程中都会遇到这个问题 那么如何解决呢 接下来 就让我为大家详细讲解一下解决方法 首先 我们来了解一下msvcr120 dll文
  • Kazantzis-Kravaris-Luenberger ( KKL )非线性观测器

    The formulation of the observer design problem is realized via a system of singular first order linear PDEs and a rather
  • 【Python搞搞轻量Blog】第二发 Flask入门(2)

    上一篇文章 Flask入门 中创建了一个非常简单的Web应用 但从最简单中又稍微深入的说了一下Flask 基于Werkzeug 使用模板 利用HTML 如何快速利用写好的HTML呢 第一步 在和主应用的同级目录下 创建一个名为 templa
  • [算法]PRML学习笔记1.2.6贝叶斯曲线拟合(Bayesian curve fitting)

    参考文献 Pattern Recognition and Machine Learning Published by Springer January 2006 https www microsoft com en us research
  • 【Vue 学习】修改页面默认的标题

    修改页面默认的标题 一般是在 public index html 里面进行设置网页标题 如下 Vue 的脚手架使用了读取配置文件的方式来设置网页标题 如下 配置文件的内容如下 总结 直接修改 public index html 文件 修改配
  • FPN(特征金字塔)图解

    FPN 看了mask RCNN的源代码 其中用到fpn 根据源代码画了个图 当然FPN重要的是它的思想 有一些超参数可以根据自己的框架进行调整
  • [HFSS]Floquet port激励及主从边界设置(实例)

    Floquet port激励及主从边界设置 1 Floquet port简介 2 基本模型建立 3 主从边界设置 4 wave port 设置 5 floquet port 设置 6 Analysis setup 7 验证 仿真 8 结果演
  • Python标准库、模块、包的区别

    文章目录 模块 包 标准库 第三方库 自定义模块 模块 模块可定义为一个包含python定义和语句的 py文件 模块中包含python代码以及python函数 类或python变量 一个模块可以被其他 py文件导入使用 也可以单独作为脚本文
  • 3.3 Git 分支 - 分支管理

    3 3 Git 分支 分支管理 版本说明 版本 作者 日期 备注 0 1 loon 2019 3 23 初稿 目录 文章目录 3 3 Git 分支 分支管理 版本说明 目录 分支管理 分支管理 现在已经创建 合并 删除了一些分支 让我们看看
  • 51单片机的几种中断的用法

    1 外部中断0 外部中断0实验 实现现象 下载程序后按下K3按键可以对D1小灯状态取反 注意事项 无 include reg52 h 此文件中定义了单片机的一些特殊功能寄存器 typed
  • gitlab可以访问,但git clone连接超时不能下载

    因此 我们可以把 http wozhendetainanle map 地址后面加上 git后缀 更改为 http wozhendetainanle map git 此时使用就可以下载了
  • 关于C#监视剪贴板信息

    1 常规方法 在C 中 有一个常规检测剪贴板的方法 用的是 System Windows Forms Clipboard 使用起来很简单 代码如下
  • 微信小程序中的App、Page、Component的生命周期函数

    有点混乱的官方文档 一 什么是生命周期和生命周期函数 字面意义上说 生命周期就是指一个对象自身的生老病死 在程序运行上也可以这么理解 程序也是对象 也有 生老病死 程序自身从创建到销毁的过程中 运行到特定的阶段 会触发特定的函数 这些函数
  • Distributed Database System —— 什么是嵌入式数据库?

    文章目录 什么是嵌入式数据库 Embedded Database 数据库服务器的架构 嵌入式数据库架构 区别 像Oracle Sybase MySQL和SQL Server这些大家熟知的数据库都属于数据库服务器 当然不排除某些也提供嵌入式版
  • “新”科学家Stephen Wolfram

    2011年10月的iPhone 4S发布会上 苹果副总裁Scott Forstall长按Home键 对着那个泛着紫色光晕的话筒问道 Stephen Wolfram 离圣诞节还有几天 让我查查 稍等 Scott得到了他想要的答案 82 天 也
  • 单片机设计_室内环境智能监测系统(STM32 OLED ESP8266 DHT11 MQ-2 加湿器)

    想要更多项目私wo 一 电路设计 室内环境智能监测系统 主要功能 1 检测空气温湿度 2 检测光照强度 3 检测烟雾浓度 4 数据显示在手机端和设备OLED屏幕上 5 当空气温度高于设定的阈值时 风扇开启 6 当空气湿度低于设定的阈值时 加
  • Hive基本架构和原理

    概述 Hive是建立在 Hadoop 上的数据仓库基础构架 它提供了一系列的工具 可以用来进行数据提取转化加载 ETL 这是一种可以存储 查询和分析存储在 Hadoop 中的大规模数据的机制 Hive 定义了简单的类 SQL 查询语言 称为
  • implicit declaration of function 问题解决

    C语言程序编译后出现警告 warning implicit declaration of function client tcpinit Wimplicit function declaration 原因 相关的头文件没有声明这个函数 在相
  • 如何使用Java以编程方式在Excel中创建数据透视表?

    Excel电子表格中的数据透视表用于以交互方式汇总数据 假设在工作表中有许多发票的数据 在这种情况下 可以使用数据透视表汇总按客户或产品分组的发票 在本文中 将学习如何以编程方式处理Excel中的数据透视表 特别是 将了解如何在Java中创