要使格式化表格中的总行显示出来,需要使用XSSFTable对象并设置showTotals属性为true。以下是一个示例代码:
XSSFTable table = sheet.createTable(); table.setDisplayName("Table1"); table.setCellStyleInfo(styles.getTableStyle()); //设置table选项 CTTable cttable = table.getCTTable();
CTTableStyleInfo styleInfo = cttable.addNewTableStyleInfo(); styleInfo.setName("TableStyleMedium9"); styleInfo.setShowRowStripes(true); styleInfo.setShowColumnStripes(false); styleInfo.setShowTotals(true); //设置showTotals为true
//设置列和总行 CTTableColumns columns = cttable.addNewTableColumns(); columns.setCount(5);
CTTableColumn column; for (int i = 0; i < 5; i++) { column = columns.addNewTableColumn(); column.setName("Column" + (i+1)); column.setId(i+1); } CTTableStyleInfo style = cttable.addNewTableStyleInfo(); style.setName("TableStyleMedium2"); style.setShowColumnStripes(false); style.setShowRowStripes(true); style.setFirstColumn(true); style.setLastColumn(true); style.setShowRowStripes(true); style.setShowColumnStripes(false); style.setShowTotals(true); //设置showTotals为true
//设置数据区域 AreaReference reference = new AreaReference(new CellReference("A1"), new CellReference(numOfRows, numOfCols), SpreadsheetVersion.EXCEL2007); cttable.setRef(reference.formatAsString());
请注意,在此示例中,showTotals属性的设置是在CTTableStyleInfo实例中发生的。