摘要:本文由葡萄城技术团队原创并首发。转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。

前言

迷你图是一种简洁而有效的数据可视化方式,常用于展示趋势和变化。它通常由一组小型的线条或柱状图组成,用于表示数据的变化情况。迷你图的主要特点是占用空间少且易于理解。

迷你图通常被用于数据仪表盘、报告和展示中,以便在有限的空间内展示多个数据集的趋势。通过迷你图,使用者可以快速地分析数据的变化趋势,发现关键信息。今天小编为大家介绍如何在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迷你图的更多相关文章

  1. Android 教你打造炫酷的ViewPagerIndicator 不仅仅是高仿MIUI

    1.概述 哈,今天给大家带来一个ViewPagerIndicator的制作,相信大家在做tabIndicator的时候,大多数人都用过 TabPageIndicator,并且很多知名APP都使用过这个 ...

  2. JParticles 2.0 发布,打造炫酷的粒子特效

    JParticles 2.0 发布,打造炫酷的粒子特效.不好意思哈,在这么繁花似锦的世界里,标题不得不取得吸引眼球一点哈,不然...还是不啰嗦了,我们进入正题吧 简单介绍一下 JParticles 2 ...

  3. 仿网易/QQ空间视频列表滚动连播炫酷效果

    代码地址如下:http://www.demodashi.com/demo/11201.html 一.准备工作 AndroidStudio 开发环境 需要下载七牛的开源播放器SDK 本例子实现了仿网易/ ...

  4. Android ViewPager 打造炫酷欢迎页

    Android ViewPager 打造炫酷欢迎页 ViewPager是Android扩展v4包中的类,这个类可以让用户切换当前的View.对于这个类的应用场景,稍加修改就可以应用到多个环境下.比如: ...

  5. Photoshop和WPF双剑配合,打造炫酷个性的进度条控件

    现在如果想打造一款专业的App,UI的设计和操作的简便性相当重要.UI设计可以借助Photoshop或者AI等设计工具,之前了解到WPF设计工具Expression Blend可以直接导入PSD文件或 ...

  6. 用AI制作炫酷效果

    PART1:制作第一个效果 步骤一:新建一个800*600的画布. 骤二:从工具栏选“矩形工具”,创建一个800*600的矩形.白色的是画布,浅红色(我的AI之前保留的填充颜色,每个人都不一样)的是你 ...

  7. hexo的next主题个性化教程:打造炫酷网站

    看到有些next主题的网站很炫酷,那么是怎么配置的呢?接下来我会讲一讲如何实现一些炫酷的效果 主要有以下32种: 在右上角或者左上角实现fork me on github 添加RSS 添加动态背景 实 ...

  8. 基于skitter的轮播图炫酷效果,幻灯片的体验

    概述 包含各种炫酷的轮播切换效果,插件小巧,与其他插件无冲突,可用于移动端和PC端 详细 代码下载:http://www.demodashi.com/demo/11939.html 你还在用原生的js ...

  9. GJM :JS + CSS3 打造炫酷3D相册 [转载]

    感谢您的阅读.喜欢的.有用的就请大哥大嫂们高抬贵手"推荐一下"吧!你的精神支持是博主强大的写作动力以及转载收藏动力.欢迎转载! 版权声明:本文原创发表于 [请点击连接前往] ,未经 ...

  10. Linux进阶之使用Oh-My-Zsh打造炫酷终端

    Oh My Zsh是基于zsh命令行的一个扩展工具集,提供了丰富的扩展功能.除了功能增强之外,还提供非常丰富的主题.使用Oh-My-Zsh打造酷炫Shell终端的步骤(Deepin系统): 原始终端: ...

随机推荐

  1. 【Python】万字长文,Locust 性能测试指北(上)

    Locust Locust 是比较常见的性能测试工具,底层基于 gevent.官方介绍 它是一款易于使用.可编写脚本且可扩展的性能测试工具,可以让我们使用常规 Python 代码定义用户的行为,而不必 ...

  2. 基于 Surfel 的实时全局光照方案(Surfel-based Global Illumination)

    目录 Global Illumination based on Surfels [SIGGRAPH 2021] Surfel 持久化存储 surfel 数据组成 surfel 回收机制 Surfeli ...

  3. pip install lxml 总是失败

  4. 利用java来实现计算器的加减乘除

    package bag; import java.util.Scanner; public class Demo06 { public static void main(String[] args) ...

  5. 利用shell脚本交互式运行jar任务

    如题,废话不多说,直接上代码: #!/bin/bash APP_PATH=/root/bigdata/neural_networks/width_control_model/predict/uploa ...

  6. ASP.NET Core - 日志记录系统(一)

    一.日志记录 日志记录是什么?简单而言,就是通过一些方式记录应用程序运行中的某一时刻的状态,保留应用程序当时的信息.这对于我们进行应用程序的分析.审计以及维护有很大的作用. 作为程序员,我们恐怕谁也不 ...

  7. 2022-1-20 Wpf绑定属性

    使用UpdateSourceTrigger绑定属性 后台绑定 通过后台代码绑定 UpdateSourceTrigger

  8. asp.net core之Options

    本文将介绍 ASP.NET Core 中的 Options 概念和使用方法.Options 是一种配置管理机制,可以将应用程序的配置信息从代码中分离出来,提高代码的可维护性和可测试性.我们将详细介绍如 ...

  9. 关于自定义程序打包成jar包,并读取配置

    前言 在实际开发过程中,我们有时候有把你编写的一段程序打成jar包的需求,而一些配置是需要去配置文件里面读取关于这项目的一些配置,本人在网络上查询了众多的资料,总的来说可以归为3类 1.从数据库读取配 ...

  10. vue结合cesium,配置,插件vue-cli-plugin-cesium

    https://www.npmjs.com/package/vue-cli-plugin-cesium