为了账号安全,请及时绑定邮箱和手机立即绑定

Java 创建/编辑/删除Excel迷你图表

标签:
Java 中间件

迷你图是Excel工作表单元格中表示数据的微型图表。使用迷你图可以非常直观的显示数据变化趋势,突出最大值、最小值,放在数据表格中可起到很好的数据分析效果。本文将通过Java代码示例介绍如何在Excel中创建迷你图表,以及编辑和删除表格中的迷你图表。

程序运行环境:Java、IDEA、jdk1.8.0、无需安装Microsoft Excel

使用类库:Free Spire.XLS for Java(免费版)

类库获取及导入:官网下载jar包,并解压,将lib文件夹下的jar文件导入java程序。或者可通过maven仓库下载导入到Maven项目。如下导入效果:

https://img1.sycdn.imooc.com//5e7b1fa20001f41903480358.jpg

Java示例代码

1. 创建迷你图表

import com.spire.xls.*;
 
 import java.awt.*;
 
 public class CreateSparklineChart {
     public static void main(String[] args) {
         //创建一个Workbook类对象并加载Excel文档
         Workbook workbook = new Workbook();
         workbook.loadFromFile(  "test.xlsx");
 
         //获取第一个工作表 
         Worksheet sheet = workbook.getWorksheets().get(0);
 
         //添加折线迷你图,设置折折线迷你图格式
         SparklineGroup sparklineGroup1 = sheet.getSparklineGroups().addGroup();
         sparklineGroup1.setSparklineType(SparklineType.Line);
         sparklineGroup1.setSparklineColor(new Color(153,50,204));
         sparklineGroup1.setShowHighPoint(true);
         //设置添加折现迷你图表的单元格以及图表生成的数据范围
         SparklineCollection sparklines1 = sparklineGroup1.add();
         sparklines1.add(sheet.getCellRange("B3:F3"), sheet.getCellRange("G3"));
 
         //添加柱形迷你图,并设置图表颜色
         SparklineGroup sparklineGroup2 = sheet.getSparklineGroups().addGroup();
         sparklineGroup2.setSparklineType(SparklineType.Column);
         sparklineGroup2.setSparklineColor(new Color(244,164,96));
         sparklineGroup2.setShowHighPoint(true);
         //设置添加柱形迷你图表的单元格以及图表生成的数据范围
         SparklineCollection sparklines2 = sparklineGroup2.add();
         sparklines2.add(sheet.getCellRange("B4:F4"), sheet.getCellRange("G4"));
 
         //添加盈亏迷你图,并设置颜色
         SparklineGroup sparklineGroup3 = sheet.getSparklineGroups().addGroup();
         sparklineGroup3.setSparklineType(SparklineType.Stacked);
         sparklineGroup3.setSparklineColor(new Color(255,20,147));
         sparklineGroup3.setShowHighPoint(true);
         //设置盈亏迷你图表的单元格以及图表生成的数据范围
         SparklineCollection sparklines3 = sparklineGroup3.add();
         sparklines3.add(sheet.getCellRange("B5:F5"), sheet.getCellRange("G5"));
 
         //保存文档
         workbook.saveToFile("AddSparkline.xlsx", ExcelVersion.Version2013);
         workbook.dispose();
     }
 }

迷你图表创建效果:

https://img1.sycdn.imooc.com//5e7b1fc60001d9c605540445.jpg

2. 编辑迷你图表

import com.spire.xls.*;
 import com.spire.xls.core.spreadsheet.ISparklineGroup;
 import com.spire.xls.core.spreadsheet.ISparklines;
 
 public class ModifySparkline {
     public static void main(String[] args) {
         //创建实例,加载文档
         Workbook wb = new Workbook();
         wb.loadFromFile("AddSparkline.xlsx");
 
         //获取工作表
         Worksheet sheet = wb.getWorksheets().get(0);
 
         //修改第2个迷你图组中迷你图表类型和数据范围
         ISparklineGroup sparklineGroup = sheet.getSparklineGroups().get(1);
         sparklineGroup.setSparklineType(SparklineType.Line);
         ISparklines sparklines = sparklineGroup.get(1);
         sparklines.refreshRanges(sheet.getCellRange("C4:F4"), sheet.getCellRange("G4"));
 
         //保存文档
         wb.saveToFile("ModifySparkline.xlsx", ExcelVersion.Version2013);
         wb.dispose();
     }
 }

迷你图表修改结果:

https://img1.sycdn.imooc.com//5e7b1ff90001365005540250.jpg

3. 删除迷你图表

import com.spire.xls.*;
 import com.spire.xls.core.spreadsheet.ISparklineGroup;
 
 
 public class ClearSparkline {
     public static void main(String[] args) {
         //创建实例,加载文档
         Workbook wb = new Workbook();
         wb.loadFromFile("AddSparkline.xlsx");
 
         //获取工作表
         Worksheet sheet = wb.getWorksheets().get(0);
 
         //修改第3个迷你图组中迷你图表类型和数据范围
         ISparklineGroup sparklineGroup = sheet.getSparklineGroups().get(2);
 
         //从工作表中删除图表
         sheet.getSparklineGroups().clear((SparklineGroup) sparklineGroup);
 
         wb.saveToFile("ClearSparkline.xlsx",ExcelVersion.Version2013);
         wb.dispose();
     }
 }

迷你图表删除效果:

https://img1.sycdn.imooc.com//5e7b201700019f6105540446.jpg


( 本文完)

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
JAVA开发工程师
手记
粉丝
9
获赞与收藏
48

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

举报

0/150
提交
取消