public static void main(String[] args) throws IOException {
List<List<String>> list = new ArrayList<>(2);
list.add(new ArrayList<>());
list.add(new ArrayList<>());
list.add(new ArrayList<>());
list.add(new ArrayList<>());
list.get(0).add("严晶涛");
list.get(0).add("4201011***********");
list.get(0).add("班主任");
list.get(0).add("6a6bhv");
list.get(0).add("7wxbmztp");
list.get(1).add("严晶涛");
list.get(1).add("4201011***********");
list.get(1).add("语文老师");
list.get(1).add("6a6bhv");
list.get(1).add("7wxbmztp");
list.get(2).add("严晶涛");
list.get(2).add("4201011***********");
list.get(2).add("数学老师");
list.get(2).add("6a6bhv");
list.get(2).add("7wxbmztp");
list.get(3).add("严晶涛");
list.get(3).add("4201011***********");
list.get(3).add("体育老师");
list.get(3).add("6a6bhv");
list.get(3).add("7wxbmztp");
XSSFWorkbook workbook = new XSSFWorkbook();
XSSFSheet sheet = workbook.createSheet("老师账号密码表");
XSSFRow row = sheet.createRow(0);
XSSFCell xm = row.createCell(0);
xm.setCellValue(new XSSFRichTextString("姓名"));
XSSFCell sfz = row.createCell(1);
sfz.setCellValue(new XSSFRichTextString("身份证号码"));
XSSFCell js = row.createCell(2);
js.setCellValue(new XSSFRichTextString("角色"));
XSSFCell zh = row.createCell(3);
zh.setCellValue(new XSSFRichTextString("账号"));
XSSFCell mm = row.createCell(4);
mm.setCellValue(new XSSFRichTextString("密码"));
autoSizeColumns(sheet, list.size() + 1);
for (int i = 0; i < list.size(); i++) {
XSSFRow itemRow = sheet.createRow(i + 1);
for (int j = 0; j < list.get(i).size(); j++) {
XSSFCell itemCell = itemRow.createCell(j);
itemCell.setCellValue(new XSSFRichTextString(list.get(i).get(j)));
if (j == 3 && i > 0) {
if(list.get(i).get(j).equals(list.get(i - 1).get(j))){
CellRangeAddress region1 = new CellRangeAddress(i, i+1, 3, 3);
sheet.addMergedRegion(region1);
}
}
if (j == 4 && i > 0) {
if(list.get(i).get(j).equals(list.get(i - 1).get(j))){
CellRangeAddress region1 = new CellRangeAddress(i, i+1, 4, 4);
sheet.addMergedRegion(region1);
}
}
}
}
FileOutputStream stream = new FileOutputStream("d:/teacherAccount.xls");
workbook.write(stream);
}