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

Excel中,迷你图表是指在单元格中表示数据的微型图表。用其可以清晰简明地表现出相邻数据的变化趋势,同时也不会占用大量空间。根据图表形式的不同,迷你图表可分为折线迷你图、柱状迷你图及盈亏迷你图。本文就将通过使用Java程序来演示如何在Excel中创建、编辑和删除以上三种迷你图表。

使用工具: Free Spire.XLS for Java (免费版)

Jar文件获取及导入:

方法1:通过 官网 下载获取jar包。解压后将lib文件夹下的Spire.Xls.jar文件导入Java程序。(如下图)

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

方法2:通过maven仓库安装导入。具体安装教程参见 此网页 。

【示例1】创建迷你图表

import com.spire.xls.*;
import java.awt.*;

public class AddSparkline {
    public static void main(String[] args) {
        //创建一个Workbook类对象并加载Excel文档
        Workbook workbook = new Workbook();
        workbook.loadFromFile(  "C://Users//Test1//Desktop//Sample.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("output/AddSparkline.xlsx", ExcelVersion.Version2013);
        workbook.dispose();
    }
}

创建效果:

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

【示例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("C://Users//Test1//Desktop//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("output/ModifySparkline.xlsx", ExcelVersion.Version2013);
        wb.dispose();
    }
}

修改效果:

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

【示例3】删除迷你图表

import com.spire.xls.*;
import com.spire.xls.core.spreadsheet.ISparklineGroup;

public class DeleteSparkline {
    public static void main(String[] args) {
        //创建实例,加载文档
        Workbook wb = new Workbook();
        wb.loadFromFile("C://Users//Test1//Desktop//AddSparkline.xlsx");

        //获取工作表
        Worksheet sheet = wb.getWorksheets().get(0);

        //获取第二个迷你图表
        ISparklineGroup sparklineGroup = sheet.getSparklineGroups().get(1);

        //从工作表中删除图表
        sheet.getSparklineGroups().clear((SparklineGroup) sparklineGroup);

        wb.saveToFile("output/DeleteSparkline.xlsx",ExcelVersion.Version2013);
        wb.dispose();
    }
}

删除效果:

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

(本文完)

原文 

https://segmentfault.com/a/1190000022285417

本站部分文章源于互联网,本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供。如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。

PS:推荐一个微信公众号: askHarries 或者qq群:474807195,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

转载请注明原文出处:Harries Blog™ » Java 创建、编辑和删除Excel迷你图表

赞 (0)
分享到:更多 ()

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址