首頁 > 軟體

Java建立,編輯與刪除Excel迷你圖表的實現方法

2022-05-30 22:01:23

前言

迷你圖是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();
    }
}

迷你圖表刪除效果:

以上就是Java建立,編輯與刪除Excel迷你圖表的實現方法的詳細內容,更多關於Java Excel迷你圖表的資料請關注it145.com其它相關文章!


IT145.com E-mail:sddin#qq.com