发布网友 发布时间:2022-04-26 11:02
共1个回答
热心网友 时间:2022-06-27 16:07
首先这个List尽量是Object类型的,也就是:Listlist其次就是开始遍历这个listintcurrentRowNum=startRowNum-1;//从第几行开始写intcurrentColNum=startColNum-1;//从第几列开始写for(Object[]objects:list){//遍历listXSSFRowrow=sheet.createRow(currentRowNum);//一个list就是一行,创建一个行for(Objectobject:objects){//遍历每一个list的Object[]数组if(object==null){XSSFCellcell=row.createCell(currentColNum++,XSSFCell.CELL_TYPE_BLANK);//如果该单元格为空,则创建一个空格子,不然数据会移位cell.setCellValue("");//将这个空格设置为空字符串}elseif(objectinstanceofDouble||objectinstanceofFloat){//判断这个格子放的数据的类型,其他的同理XSSFCellcell=row.createCell(currentColNum++,XSSFCell.CELL_TYPE_NUMERIC);//如果是Double或者Float类型的,则用这个方式cell.setCellValue(Double.parseDouble(object.toString()));}elseif(objectinstanceofLong||objectinstanceofInteger){XSSFCellcell=row.createCell(currentColNum++,XSSFCell.CELL_TYPE_NUMERIC);cell.setCellValue(Double.parseDouble(object.toString()));}elseif(objectinstanceofDate){XSSFCellcell=row.createCell(currentColNum++,XSSFCell.CELL_TYPE_STRING);cell.setCellValue(newSimpleDateFormat("dd-MM-yyyy").format((Date)object));}elseif(objectinstanceofBoolean){XSSFCellcell=row.createCell(currentColNum++,XSSFCell.CELL_TYPE_BOOLEAN);cell.setCellValue((Boolean)object);}else{XSSFCellcell=row.createCell(currentColNum++,XSSFCell.CELL_TYPE_STRING);cell.setCellValue(String.valueOf(object));}}currentRowNum++;//写完第一个list,跳到下一行currentColNum=startColNum-1;}这种是poi操作EXCEL的方法哈。。jxl操作略有不同。