java excel 透视_在Java中用Excel创建数据透视表和数据透视图
当您需要快速分析Excel工作表中的数据并查看数据中的比较,模式和趋势时,您的第一个直觉就是创建数据透视表。但是有时并不是每个人都有时间查看表中的数据并查看发生了什么。数据透视图通过以图形方式表示数据,使其更易于理解数据。在本文中,我将介绍如何使用Free Spire.XLS for Java API在Java中的Excel文件中创建数据透视表和数据透视图。
添加依赖项
首先,您需要添加所需的依赖项,以将Java的Free Spire.XLS包含到Java项目中。有两种方法可以做到这一点。
如果使用maven,则需要将以下代码添加到项目的pom.xml文件中。
com.e-iceblue
e-iceblue
http://repo.e-iceblue.com/nexus/content/groups/public/
e-iceblue
spire.xls.free
3.9.1
对于非Maven项目,请从此网站下载Java的Free Spire.XLS ,解压缩该软件包并将lib文件夹中的Spire.Xls.jar作为依赖项添加到您的项目中。
创建数据透视表
免费的Spire.XLS for Java API提供了XlsPivotTablesCollection.add方法,该方法用于将数据透视表添加到Excel工作表中。下面的示例演示如何创建Excel文件,将数据添加到Excel工作表,然后创建数据透视表以分析工作表中的数据。
import com.spire.xls.*;
public class CreatePivotTable {
public static void main(String[] args) {
//Create a workbook
Workbook workbook = new Workbook();
Worksheet sheet = workbook.getWorksheets().get(0);
//Add some data to the worksheet
sheet.getCellRange("A1").setValue("Product");
sheet.getCellRange("B1").setValue("Month");
sheet.getCellRange("C1").setValue("Sale");
sheet.getCellRange("A2").setValue("Coffee");
sheet.getCellRange("A3").setValue("Coffee");
sheet.getCellRange("A4").setValue("Chocolate");
sheet.getCellRange("A5").setValue("Chocolate");
sheet.getCellRange("A6").setValue("Milk");
sheet.getCellRange("A7").setValue("Milk");
sheet.getCellRange("B2").setValue("January");
sheet.getCellRange("B3").setValue("February");
sheet.getCellRange("B4").setValue("January");
sheet.getCellRange("B5").setValue("February");
sheet.getCellRange("B6").setValue("January");
sheet.getCellRange("B7").setValue("February");
sheet.getCellRange("C2").setValue("1000");
sheet.getCellRange("C3").setValue("1500");
sheet.getCellRange("C4").setValue("900");
sheet.getCellRange("C5").setValue("700");
sheet.getCellRange("C6").setValue("800");
sheet.getCellRange("C7").setValue("1000");
//Add a PivotTable to the worksheet
CellRange dataRange = sheet.getCellRange("A1:C7");
PivotCache cache = workbook.getPivotCaches().add(dataRange);
PivotTable pt = sheet.getPivotTables().add("Pivot Table", sheet.getCellRange("A10"), cache);
//Drag the fields to the row area
PivotField pf =null;
if (pt.getPivotFields().get("Product") instanceof PivotField){
pf= (PivotField) pt.getPivotFields().get("Product");
}
pf.setAxis(AxisTypes.Row);
PivotField pf2 =null;
if (pt.getPivotFields().get("Month") instanceof PivotField){
pf2= (PivotField) pt.getPivotFields().get("Month");
}
pf2.setAxis(AxisTypes.Row);
//Drag the field to the data area
pt.getDataFields().add(pt.getPivotFields().get("Sale"), "SUM of Sale", SubtotalTypes.Sum);
//Set PivotTable style
pt.setBuiltInStyle(PivotBuiltInStyles.PivotStyleMedium12);
//Calculate data
pt.calculateData();
//Set column width
sheet.setColumnWidth(1, 14);
sheet.setColumnWidth(2, 14);
//Save the result file
workbook.saveToFile("CreatePivotTable.xlsx", ExcelVersion.Version2013);
}
}
输出:
创建数据透视图
要将数据透视图添加到Excel工作表中,需要使用WorksheetChartsCollection.add方法。在下面的示例中,您将看到如何将透视图添加到Excel工作表中。
import com.spire.xls.*;
import com.spire.xls.core.IPivotTable;
public class CreatePivotChart {
public static void main(String[] args) {
//Load the Excel file
Workbook workbook = new Workbook();
workbook.loadFromFile("CreatePivotTable.xlsx");
//Get the first worksheet
Worksheet sheet = workbook.getWorksheets().get(0);
//get the first pivot table in the worksheet
IPivotTable pivotTable = sheet.getPivotTables().get(0);
//Add a clustered column chart based on the pivot table to the second worksheet
Chart chart = workbook.getWorksheets().get(1).getCharts().add(ExcelChartType.ColumnClustered, pivotTable);
//Set chart position
chart.setTopRow(2);
chart.setBottomRow(15);
//Set chart title
chart.setChartTitle("Total");
//Save the result file
workbook.saveToFile("CreatPivotChart.xlsx", ExcelVersion.Version2013);
}
}
输出:
java excel 透视_在Java中用Excel创建数据透视表和数据透视图相关推荐
- JAVA 的读取Excel方法_纯Java的方式读取excel2007
* 首先介绍excel2007文件的格式,这里单只工作表文件,不包括加载宏的以及其他格式的,即.xlsx扩展名的 * 你可以把Book1.xlsx这个文件用解压缩文件打开,这是office2007的新 ...
- java输出excel 异常处理_使用poi导出Excel,并设定单元格内容类型,抛出异常
本例子使用的是HSSF,为Excel2003提供处理方案. 设定为输入类型为数值 import org.apache.poi.hssf.usermodel.DVConstraint; import o ...
- java中读取excel数据类型_在Java中读取Excel文件的内容
利用JExcelApi来动态生成excel文档 首先,请到http://www.andykhan.com/jexcelapi/index.html下载java excel api,主页上同时有比较详细 ...
- java 包命名_【Java】包的命名规则
命名规范 包:所有单词的字母小写,之后每个单词用-隔开,如 org.nemo.demo 常量:所有单词的字母大写,之后每个单词用_隔开,如 FLAG 类:所有单词的首字母大写,如 TestJava p ...
- php写excel文件_利用PHPExcel实现Excel文件的写入和读取
作为一个原本的Java党,用过PHP才知道,原来对于Excel文件的写入和读取原来可以这么简单! 利用PHP实现对于Excel的读取,主要借助于PHPExcel插件来完成. PHPExcel下载地址: ...
- java初始化数据报_初始化java原因
虚拟机的类加载机制 虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验.转换解析和初始化,最终形成可以被虚拟机直接使用的Java类 即虚拟机的类加载机制. 在Java中,类型的加载.链接 ...
- bigint对应java什么类型_「JAVA」从格式化输出到扫描输入,深究Java正则表达式匹配之道
字符串是不可变的 字符串是不可变的,也就是说当字符串的内容发生改变的时候,会创建一个新的String对象:但是如果内容没有发生改变的时候,String类的方法会返回原字符串对象的引用. 而正则表达式往 ...
- 面试java回答优缺点_阿里Java开发面经分享,面试题(附回答)
下面要给大家分享一个阿里Java开发面经,里面包含了具体的问题,以及相关回答,主要包括了数据库.操作系统.项目相关.java基础.数据结构.计算机网络等内容. 一.数据库 1.为什么在项目中用Mong ...
- java正则表达式 匹配()_学习Java正则表达式(匹配、替换、查找)
import java.util.ArrayList; import java.util.regex.Matcher; import java.util.regex.Pattern; public c ...
- java基础语句_【Java基础-Java语言基础】
知识点:1.关键字 2.标识符 3.变量和常量 一.关键字 1.Java中的关键字有很多一共53个关键字有两个是保留字(java的关键字都是小写的!!) 2.Java中的保留字 (1)const 常量 ...
最新文章
- 如何从功能测试转化自动化测试?
- hadoop balancer
- 08-cmake语法-set()
- keepalived 多实例
- linux下系统安全常见问题2
- arm-linux-gcc静态编译和动态编译的区别
- java微信支付代码_Java微信支付之服务号支付代码示例
- JSP 编译原理:JSP 是 Servlet?如何用 Eclipse 查看 JSP 编译生成的 Servlet 源文件?
- 一网打进Linux下那些查找命令
- Your Bitbucket account has been locked. To unlock it and log in again you must solve a CAPTCHA.
- mysql 查询建表详情_MySQL 查看数据表结构以及详情的方法
- matlab小波包分析,小波分析及小波包分析
- 短文本分类---小白从0到0.3的辛酸历程(上)
- 有效沟通bic法则_善用BIC法则,负面回馈不怕引起反弹!
- iPhone 14 系列维修价曝光,修不起!
- SMS短信的编码规则
- 基于STM32F4:多通道ADC采集,采用DMA的形式,亲测有效
- corrupted double-linked list: 0x086a6c50(内存问题)
- thinkphp5配置完成后,遇到禁止访问!
- 插件电容时间久了_揭秘电解电容存放久了会怎样,电容放置时间过长怎么办?