详解如何在Java中创建Excel迷你图

 更新时间:2023年10月16日 08:58:11   作者:葡萄城技术团队  
迷你图是一种简洁而有效的数据可视化方式,常用于展示趋势和变化,通常被用于数据仪表盘、报告和展示中,以便在有限的空间内展示多个数据集的趋势,今天小编为大家介绍如何在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");

实现效果如下图所示:

总结

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

以上就是详解如何在Java中创建Excel迷你图的详细内容,更多关于Java创建Excel迷你图的资料请关注脚本之家其它相关文章!

相关文章

  • 浅谈java8 stream flatMap流的扁平化操作

    浅谈java8 stream flatMap流的扁平化操作

    这篇文章主要介绍了浅谈java8 stream flatMap流的扁平化操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-08-08
  • idea如何反编译jar包

    idea如何反编译jar包

    文章介绍了如何使用IntelliJ IDEA反编译JAR包,并详细步骤包括安装JavaBytecodeDecompiler插件、使用命令行反编译、解决Java版本不兼容问题以及推荐其他反编译工具
    2025-02-02
  • 使用Springboot实现健身房管理系统

    使用Springboot实现健身房管理系统

    这篇文章主要介绍了使用Springboot如何实现健身房管理系统,希望对你有所帮助
    2021-07-07
  • Spring Boot集成Druid数据库连接池

    Spring Boot集成Druid数据库连接池

    这篇文章主要介绍了Spring Boot集成Druid数据库连接池,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04
  • Java 中普通代码块,构造代码块,静态代码块区别及代码示例

    Java 中普通代码块,构造代码块,静态代码块区别及代码示例

    这篇文章主要介绍了Java 中普通代码块,构造代码块,静态代码块区别及代码示例的相关资料,需要的朋友可以参考下
    2017-01-01
  • java控制台版实现五子棋游戏

    java控制台版实现五子棋游戏

    这篇文章主要为大家详细介绍了java控制台版实现五子棋游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-12-12
  • Java Optional优雅处理空指针异常的实现步骤

    Java Optional优雅处理空指针异常的实现步骤

    本文主要介绍了Java Optional 详解:优雅处理空指针异常,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2026-04-04
  • Java Socket报错打开文件过多的问题

    Java Socket报错打开文件过多的问题

    这篇文章主要介绍了Java Socket报错打开文件过多的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-05-05
  • 关于Spring组成的七大模块详解

    关于Spring组成的七大模块详解

    Spring是一个开源的应用框架,用于简化企业级应用开发,它由核心容器、应用上下文、面向切面编程、JDBC和DAO模块、对象实体映射、Web模块和MVC模块七大模块组成,这些模块提供了各种功能,如依赖注入、面向切面编程、ORM支持、Web开发等,以帮助开发者更高效地开发应用
    2025-11-11
  • Spring-Retry的使用详解

    Spring-Retry的使用详解

    在日常的一些场景中, 很多需要进行重试的操作.而spring-retry是spring提供的一个基于spring的重试框架,本文就详细的介绍一下如何使用,感兴趣的可以了解一下
    2021-11-11

最新评论