zoukankan      html  css  js  c++  java
  • Java 创建/编辑/删除Excel迷你图表

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

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

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

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

    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();
        }
    }

    迷你图表创建效果:

     

    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();
        }
    }

    迷你图表修改结果:

    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();
        }
    }

    迷你图表删除效果:

    (本文完)

  • 相关阅读:
    使用 BenchmarkDotnet 测试代码性能
    【UWP】对 Thickness 类型属性进行动画
    【Win10】单元测试中捕获异步方法的指定异常
    【Win10】让 TextBlock 按字符换行
    全国天气预报信息数据 API 功能简介与代码调用实战视频
    5行代码实现微信小程序图片上传与腾讯免费5G存储空间的使用
    获取任意链接文章正文 API 功能简介
    开放数据接口 API 简介与使用场景、调用方法
    程序员如何开始做一个自己的 Side Project?
    VSCode 必装的 10 个高效开发插件
  • 原文地址:https://www.cnblogs.com/Yesi/p/12580233.html
Copyright © 2011-2022 走看看