HSSFWorkbook ---- HSSFWorkSheet--------HSSFRow-------HSSFCell
excel文件 excel的一张表 表的一行 一个单元格
用来生成Cell的方法:
private void createCell(HSSFWorkbook wb, HSSFRow row, int col, String val) { HSSFCell cell = row.createCell(col); cell.setCellValue(val); //设置单元格样式 HSSFCellStyle cellstyle = wb.createCellStyle(); cellstyle.setAlignment(HSSFCellStyle.ALIGN_CENTER_SELECTION);//设置水平对齐方式 cellstyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);//设置垂直对齐方式 //设置单元格格式 //cell.setCellType(HSSFCell.CELL_TYPE_NUMERIC); cell.setCellStyle(cellstyle); }
创建表头
public boolean createXlsHead_day(HSSFWorkbook wb) throws Exception{ boolean flag = true; try{ HSSFSheet sheet1 = wb.createSheet("Sheet1"); wb.setSheetName(0, "XREB消费日报表"); HSSFRow head = sheet1.createRow(0); HSSFRow head2 = sheet1.createRow(1); // 第一行表头 createCell(wb, head, 0, "消费日期"); createCell(wb, head, 1, "消费地点"); createCell(wb, head, 3, "夜餐"); createCell(wb, head, 5, "午餐"); createCell(wb, head, 7, "晚餐"); createCell(wb, head, 9, "小记"); CellRangeAddress range1 = new CellRangeAddress(0, 1, 0, 0); //合并单元格 CellRangeAddress range2 = new CellRangeAddress(0, 0, 1, 2); CellRangeAddress range3 = new CellRangeAddress(0, 0, 3, 4); CellRangeAddress range4 = new CellRangeAddress(0, 0, 5, 6); CellRangeAddress range5 = new CellRangeAddress(0, 0, 7, 8); CellRangeAddress range6 = new CellRangeAddress(0, 0, 9, 10); sheet1.addMergedRegion(range1); sheet1.addMergedRegion(range2); sheet1.addMergedRegion(range3); sheet1.addMergedRegion(range4); sheet1.addMergedRegion(range5); sheet1.addMergedRegion(range6); // 表头第二行 createCell(wb, head2, 1, "消费机号"); createCell(wb, head2, 2, "营业点名称"); createCell(wb, head2, 3, "人次"); createCell(wb, head2, 4, "金额"); createCell(wb, head2, 5, "人次"); createCell(wb, head2, 6, "金额"); createCell(wb, head2, 7, "人次"); createCell(wb, head2, 8, "金额"); createCell(wb, head2, 9, "人次"); createCell(wb, head2, 10, "金额"); }catch(Exception ex){ flag = false; throw ex; } return flag; }