打造炫酷效果:用Java优雅地制作Excel迷你图

打造,效果,java,优雅,制作,excel,迷你 · 浏览次数 : 94

小编点评

**Java 中创建 Excel mini-chart** **三种创建迷你图的方法:** 1. **折线图** 2. **柱形图** 3. **盈亏图** **代码示例:** ```java // 创建 workbook Workbook wb = new Workbook(); // 获取当前sheet Worksheet sheet = wb.getActiveSheet(); // 定义数据 Object[][] data = { {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("F1:H4").setValue(data); // 保存 Excel 文件 wb.save("output/sparkline.xlsx"); ``` **使用说明:** 1. 在 Java 中创建一个 `Workbook` 对象,并获取当前的 `Worksheet` 对象。 2. 定义数据并将其设置为 `Range` 中。 3. 添加迷你图,并设置其配置。 4. 保存 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");

实现效果如下图所示:

总结

以上就是关于迷你图用法的介绍。如果您想进一步了解有关迷你图更多的玩法和技巧,可以参考这个帮助手册,在手册中包含了有关于迷你图更多的用法,无论是初学者还是有经验的专业人士,该帮助手册都将为您提供有价值的指导和帮助。

扩展链接:

从表单驱动到模型驱动,解读低代码开发平台的发展趋势

低代码开发平台是什么?

基于分支的版本管理,帮助低代码从项目交付走向定制化产品开发

与打造炫酷效果:用Java优雅地制作Excel迷你图相似的内容:

打造炫酷效果:用Java优雅地制作Excel迷你图

摘要:本文由葡萄城技术团队原创并首发。转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。 前言 迷你图是一种简洁而有效的数据可视化方式,常用于展示趋势和变化。它通常由一组小型的线条或柱状图组成,用于表示数据的变化情况。迷你图的主要特点是占用空间少且易于理解。

HMS Core 3D流体仿真技术,打造移动端PC级流体动效

移动设备硬件的高速发展,让游戏行业发生翻天覆地的变化,许多酷炫的游戏效果不再局限于电脑端,玩家在移动端就能享受到场景更逼真、画质更清晰、体验更流畅的游戏服务。但由于移动设备算力不足,为了实现真实感的水体效果,很多游戏厂商采用预计算的方法减少实时仿真的计算开销,但水体场景在移动端的流体效果仍然不佳。

谁会拒绝一款开源的 3D 博客呢?

说到博客大家一定都不陌生,不管你是深耕职场多年的老鸟,还是在学校努力学习的小鸟,应该都有过一段“装扮”博客的经历,比如:放上喜欢的图片、添加炫酷的交互、换上 DIY 的博客主题等等。但不管再怎么“打扮”,也跳脱不出平面的“凡胎”。 今天 HelloGitHub 给大家带来的是一款开源的 3D 博客项

【Nano Framework ESP32篇】WS2812 彩色灯带实验

地球人皆知,许多物联网教程作者的心中都深爱着一灯大师,所以第一个例程总喜欢点灯,高级一点的会来个“一闪一闪亮晶晶”。老周今天要扯的也是和灯有关的,但不单纯地点个灯,那样实在不好玩,缺乏乐趣。老周打算舞个龙灯,哦不,是用 LED 彩色灯带给伙伴们整点炫酷乐子。 说到这LED彩灯,咱们常见到的有两类:

[转帖]打造自己的K8s debug image

https://cloud.tencent.com/developer/article/1932186?areaSource=&traceId= 生产上,有时候为了便于调试,会需要用到一些dig curl等工具,这里提供一个很好用的 docker image 集成了如下工具: tcpdump hto

打造无证服务化:这个政务服务平台有点不一样

摘要:华为云携手深圳市华傲数据技术有限公司针对“数字政府建设”与“数字经济发展”两大场景,打造华傲可信政务区块链解决方案。 本文分享自华为云社区《华为云携手华傲数据打造“无证服务”政务服务平台》,作者:灰灰哒 。 当前,数字政务建设已成业界共识,我国政务信息化发展日新月异,与此同时,仍有部分地区政务

MRS+LakeFormation:打造一站式湖仓,释放数据价值

摘要:华为LakeFormation是企业级的一站式湖仓构建服务。 本文分享自华为云社区《华为云MRS支持LakeFormation能力,打造一站式湖仓,释放数据价值】》,作者:breakDawn 。 1 背景 1.1 数仓和数据湖的概念 数据分析技术在2010~2019年间,以湖仓两层架构技术作为

LangChain:打造自己的LLM应用

LangChain是一个框架,用于开发由LLM驱动的应用程序。可以简单认为是LLM领域的Spring,以及开源版的ChatGPT插件系统

人工智能打造充满创造力的新世界,华为云开发者日无锡站成功举办

摘要:近日,华为云开发者日HDC.Cloud Day无锡站成功举行,开发者不仅聆听了华为云技术专家在生成式AI、元宇宙、AIoT、工业互联网等领域的前沿技术分享,还在KooLabs工作坊、展台等环节,亲身体验华为云产品的技术魅力。 3月21日,华为云开发者日HDC.Cloud Day无锡站成功举行,

为医生打造专属数字分身!华为云联合万木健康打造医疗医学科普和患者教育数字人引擎

摘要:如今,医生出镜的视频已经成为喜闻乐见的医学科普和患者教育手段,但医生难以抽出时间拍摄、拍摄时间较长、成本较高等制作痛点也日益凸显。对此,国内首个医生AI数字人运营服务商——成都万木健康科技有限公司找到了破局之法。 本文分享自华为云社区《为医生打造专属数字分身!华为云联合万木健康打造医疗医学科普