需求分析:点击导出按钮,将简历列表信息导出为excel文档
apache POI是用java写的免费chengshi开源的跨平台的JAVA API,Apache POI提供API对microsoft office格式档案读和写的功能。用它可以使用JAVA读取和创建,修改MS Excel文件,而且还可以读取JAVA和创建MS Word和PowerPoint文件、Apache poi提供Java操作Excel解决方案:
结构HSSF:提供读写MS excel xls格式档案的功能。
XSSF:提供读写MS OOXML XLSX格式档案的功能。
HWPF:提供读写MS Word DOC格式档案的功能
HSLF:提供MS PowerPoint格式档案的功能
HDGF:提供MS Visio格式文档的功能
入门POIdemo
//创建一个工作簿
HSSFWorkbook wb = new HSSFWorkbook();
//创建一个工作表
HSSFSheet sheet = wb.createSheet("简历");
//创建一行,行的索引是0
HSSFRow row = sheet.createRow(0);
//创建单元格,列的索引是从0开始
HSSFCell cell = row.createCell(0);
//给单元格赋值
cell.setCellValue("测试");
//设置列宽
sheet.setColumnWidth(0, 20*256);
//width:跟字体有关,每个字符大小*256
File file = new File("d:\\poitest.xls");
FileOutputStream fos = new FileOutputStream(file);
wb.write(fos);//写入数据
fos.flush();
fos.close();
wb.close();
////////////////////设置字体和字体颜色////////////////////////////
HSSFFont font = wb.createFont();
font.setFontName(fontName);
font.setFontHeightInPoints((short)fontSize);
font.setColor(fontColor);
/////////////////////设置单元格边框和背景颜色//////////////////////
CellStyle cellStyle = wb.createCellStyle();
cellStyle.setBorderBottom(BorderStyle.THIN);
cellStyle.setBorderTop(BorderStyle.THIN);
cellStyle.setBorderLeft(BorderStyle.THIN);
cellStyle.setBorderRight(BorderStyle.THIN);
cellStyle.setFillForegroundColor(bg);
cellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);
cellStyle.setFont(font);
cellStyle.setWrapText(true); //自动换行
cellStyle.setVerticalAlignment(VerticalAlignment.CENTER);//垂直居中
cellStyle.setAlignment(HorizontalAlignment.CENTER); //水平居中
cell = row.createCell(cellIndex);
cell.setCellValue(cellContent);
cell.setCellStyle(cellStyle);
/////////////////////////////////////////////
sheet.autoSizeColumn(j);//设置自适应宽度
单元格内容想要换行,使用\r\n
setCellStyle(wb,row,cell,j,"黑体",12,IndexedColors.WHITE.getIndex(),IndexedColors.BLACK.getIndex(),list.get(j).replaceAll("", "\r\n"));