本文将介绍如何使用Spire.XLS for Java创建含多层分类标签 Excel图表。
import com.spire.xls.*;
import com.spire.xls.charts.*;
public class CreateMultiLevelChart {
    public static void main(String []args) throws Exception {
        //创建Workbook实例,获取第一个工作表
        Workbook wb = new Workbook();
        Worksheet sheet = wb.getWorksheets().get(0);
        //写入数据到工作表
        sheet.getCellRange("A1").setText("年份");
        sheet.getCellRange("A2").setText("2016年");
        sheet.getCellRange("A6").setText("2017年");
        sheet.getCellRange("B1").setText("季度");
        sheet.getCellRange("B2").setText("第一季度");
        sheet.getCellRange("B3").setText("第二季度");
        sheet.getCellRange("B4").setText("第三季度");
        sheet.getCellRange("B5").setText("第四季度");
        sheet.getCellRange("B6").setText("第一季度");
        sheet.getCellRange("B7").setText("第二季度");
        sheet.getCellRange("B8").setText("第三季度");
        sheet.getCellRange("B9").setText("第四季度");
        sheet.getCellRange("C1").setText("季度销量");
        sheet.getCellRange("C2").setValue("1544");
        sheet.getCellRange("C3").setValue("1102");
        sheet.getCellRange("C4").setValue("2558");
        sheet.getCellRange("C5").setValue("1609");
        sheet.getCellRange("C6").setValue("1700");
        sheet.getCellRange("C7").setValue("1304");
        sheet.getCellRange("C8").setValue("1572");
        sheet.getCellRange("C9").setValue("3210");
        //纵向合并单元格A2到A5、A6到A9
        sheet.getCellRange("A2:A5").merge();
        sheet.getCellRange("A6:A9").merge();
        //添加柱状图
        Chart chart = sheet.getCharts().add(ExcelChartType.ColumnClustered);
        chart.setChartTitle("季度销量");  //设置图标标题
        chart.getPlotArea().getFill().setFillType(ShapeFillType.NoFill);  //不填充绘图区域(默认填充灰色)
        chart.getLegend().delete();  //删除图例
        //设置柱状图位置及宽度
        chart.setLeftColumn(5);
        chart.setTopRow(1);
        chart.setRightColumn(14);
        //设置系列数据来源
        chart.setDataRange(sheet.getCellRange("C2:C9"));
        chart.setSeriesDataFromRange(false);
        //设置系列分类标签数据来源
        ChartSerie serie = chart.getSeries().get(0);
        serie.setCategoryLabels(sheet.getCellRange("A2:B9"));
        //显示多层分类标签
        chart.getPrimaryCategoryAxis().setMultiLevelLable(true);
       //保存文档
        wb.saveToFile("output.xlsx", ExcelVersion.Version2013);
    }
}
 
    


 
					



