打造炫酷效果:用Java优雅地制作Excel迷你图
摘要:本文由葡萄城技术团队原创并首发。转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。
前言
迷你图是一种简洁而有效的数据可视化方式,常用于展示趋势和变化。它通常由一组小型的线条或柱状图组成,用于表示数据的变化情况。迷你图的主要特点是占用空间少且易于理解。
迷你图通常被用于数据仪表盘、报告和展示中,以便在有限的空间内展示多个数据集的趋势。通过迷你图,使用者可以快速地分析数据的变化趋势,发现关键信息。今天小编为大家介绍如何在Java中创建Excel迷你图。
1.在Java中创建迷你图
Excel的迷你图一共有三种:
- 折线图
- 柱形图
- 盈亏图
通过下面的代码,可以轻松创建出三种迷你图。
Workbook wb = new Workbook(); IWorksheet sheet = wb.getActiveSheet(); // 定义数据 Object[][] data = new Object[][] { {1, -3, 2}, {4, -6, 5}, {7, -9, 8}, {10, 12, -11} }; sheet.getRange("A1:C4").setValue(data); // 添加迷你图 sheet.getRange("D1:D4").getSparklineGroups().add(SparkType.Line, "A1:C4"); sheet.getRange("E1:E4").getSparklineGroups().add(SparkType.Column, "A1:C4"); sheet.getRange("F1:F4").getSparklineGroups().add(SparkType.ColumnStacked100, "A1:C4"); wb.save("output/sparkline.xlsx");
实现效果如下图所示:
2.在Java中创建迷你图组合
在 Excel 中,创建多个迷你图时,会自动为他们添加一个组合,同一个组合的迷你图会使用相同的设置(如:线型)。当选择一个迷你图时,Excel会把相同组合的迷你图用蓝框同时选中。
而在Java中也提供了对应的 API 可以对已有的迷你图重新创建组合,也可以通过组合来修改迷你图的配置。
(1)对已有的迷你图添加组合
// 创建workbook,并获取当前sheet Workbook wb = new Workbook(); IWorksheet sheet = wb.getActiveSheet(); // 定义数据区域 Object[][] data = new Object[][] { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 }, { 10, 11, 12 } }; sheet.getRange("A1:C4").setValue(data); sheet.getRange("D1:D4").getSparklineGroups().add(SparkType.Line, "A1:C4"); sheet.getRange("F1:H4").setValue(data); // 添加一组新的迷你图 sheet.getRange("J1:J4").getSparklineGroups().add(SparkType.Column, "F1:H4"); // 基于区域"J2"的迷你图设置,创建一个新的组合 sheet.getRange("A1:J4").getSparklineGroups().group(sheet.getRange("J2")); wb.save("output/sparkline.xlsx");
实现效果如下图所示,可以看到因为新创建了组合,D1:D4的折线迷你图,变成了柱形迷你图。
(2)修改组合的配置和迷你图样式
// 创建workbook,并获取当前sheet Workbook wb = new Workbook(); IWorksheet sheet = wb.getActiveSheet(); // 定义数据区域 Object[][] data = new Object[][] { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 }, { 10, 11, 12 } }; sheet.getRange("A1:C4").setValue(data); // 添加迷你图 sheet.getRange("D1:D4").getSparklineGroups().add(SparkType.Line, "A1:C4"); // 定义日期数据 Object[] date_data = new Object[] { new GregorianCalendar(2011, 11, 16), new GregorianCalendar(2011, 11, 17), new GregorianCalendar(2011, 11, 18) }; sheet.getRange("A7:C7").setValue(date_data); // 修改迷你图的配置 ISparklineGroup sparklinegroup = sheet.getRange("D1").getSparklineGroups().get(0); sparklinegroup.setLineWeight(2.5); sparklinegroup.getPoints().getMarkers().getColor().setColor(Color.GetRed()); sparklinegroup.getPoints().getMarkers().setVisible(true); sparklinegroup.getSeriesColor().setColor(Color.GetPurple()); wb.save("output/sparkline.xlsx");
实现效果如下图所示:
总结
以上就是关于迷你图用法的介绍。如果您想进一步了解有关迷你图更多的玩法和技巧,可以参考这个帮助手册,在手册中包含了有关于迷你图更多的用法,无论是初学者还是有经验的专业人士,该帮助手册都将为您提供有价值的指导和帮助。
扩展链接:

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
全网最细-深度解析 Istio Ambient Mesh 流量路径
作者:史泽寰 前言 Istio Ambient Mesh 是 Istio 社区的推出的将 Sidecar 的能力抽离至 ztunnel 和 waypoint 的全新架构,同时基于 iptables 和策略路由实现了该架构下的流量规则,目前网络上已经有些资料对这部分的实现进行了一定程度的剖析(比如 Solo.io 推出的三篇系列文章),但仍然有很多细节尚没有任何文章提及。本文旨在对 Istio Ambient Mesh 的流量路径进行详细解读,力求尽可能清晰地呈现细节,以帮助读者完全理解 Istio Ambient Mesh 中最为关键的部分。阅读本文需要读者具备基本的 TCP/IP 协议知识和操作系统网络知识,包括 iptables 和路由等。 鉴于篇幅限制,本文不会详细介绍这些基础概念,对于感兴趣的读者,建议自行查阅相关资料以深入了解。 环境 我们使用一个最简化的场景来说明 Ambient Mesh 流量路径:从一个运行在 Node-A 上的 sleep Pod 中通过 curl 发起一个 HTTP 请求,请求的对象是集群中名为 httpbin 的服务。在该服务下有一个位于 Node...
- 下一篇
Flink测试利器之DataGen初探 | 京东云技术团队
什么是 Flinksql Flink SQL 是基于 Apache Calcite 的 SQL 解析器和优化器构建的,支持ANSI SQL 标准,允许使用标准的 SQL 语句来处理流式和批处理数据。通过 Flink SQL,可以以声明式的方式描述数据处理逻辑,而无需编写显式的代码。使用 Flink SQL,可以执行各种数据操作,如过滤、聚合、连接和转换等。它还提供了窗口操作、时间处理和复杂事件处理等功能,以满足流式数据处理的需求。 Flink SQL 提供了许多扩展功能和语法,以适应 Flink 的流式和批处理引擎的特性。他是Flink最高级别的抽象,可以与 DataStream API 和 DataSet API 无缝集成,利用 Flink 的分布式计算能力和容错机制。 使用 Flink SQL处理数据的基本步骤: 定义输入表:使用 CREATE TABLE 语句定义输入表,指定表的模式(字段和类型)和数据源(如 Kafka、文件等)。 执行 SQL 查询:使用 SELECT、INSERT INTO 等 SQL 语句来执行数据查询和操作。您可以在 SQL 查询中使用各种内置函数、聚合...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- CentOS8编译安装MySQL8.0.19
- CentOS7,CentOS8安装Elasticsearch6.8.6