本文介绍如何使用Spire.XLS for Java在Excel文档中创建多级分组。
import com.spire.xls.*;
import java.awt.*;
public class CreateNestedGroup {
public static void main(String[] args) {
//创建Workbook对象
Workbook workbook = new Workbook();
//获取第一个工作表
Worksheet sheet = workbook.getWorksheets().get(0);
//创建一个单元格样式
CellStyle style = workbook.getStyles().addStyle("style");
style.getFont().setColor(Color.blue);
style.getFont().isBold(true);
//将数据写入单元格,并在某些单元格应用样式
sheet.get("A1").setValue("A项目--项目计划");
sheet.get("A1").setCellStyleName(style.getName());
sheet.get("A3").setValue("准备");
sheet.get("A3").setCellStyleName(style.getName());
sheet.get("A4").setValue("任务 1");
sheet.get("A5").setValue("任务 2");
sheet.getCellRange("A4:A5").borderAround(LineStyleType.Thin);
sheet.getCellRange("A4:A5").borderInside(LineStyleType.Thin);
sheet.get("A7").setValue("启动");
sheet.get("A7").setCellStyleName(style.getName());
sheet.get("A8").setValue("任务 1");
sheet.get("A9").setValue("任务 2");
sheet.getCellRange("A8:A9").borderAround(LineStyleType.Thin);
sheet.getCellRange("A8:A9").borderInside(LineStyleType.Thin);
//在isSummaryRowBelow方法中传入参数false,意思是将明细数据显示在下方
sheet.getPageSetup().isSummaryRowBelow(false);
//使用groupByRows方法对行进行分组
sheet.groupByRows(2,9,false);
sheet.groupByRows(4,5,false);
sheet.groupByRows(8,9,false);
//保存文档
workbook.saveToFile("NestedGroup.xlsx", ExcelVersion.Version2016);
}
}