在Excel中,迷你图表是指在单元格中表示数据的微型图表。用其可以清晰简明地表现出相邻数据的变化趋势,同时也不会占用大量空间。根据图表形式的不同,迷你图表可分为折线迷你图、柱状迷你图及盈亏迷你图。本文就将通过使用Java程序来演示如何在Excel中创建、编辑和删除以上三种迷你图表。
方法1:通过 官网 下载获取jar包。解压后将lib文件夹下的Spire.Xls.jar文件导入Java程序。(如下图)
方法2:通过maven仓库安装导入。具体安装教程参见 此网页 。
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(); } }
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(); } }
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(); } }
(本文完)