HSSF导出Exl
创建Exl文件、sheet页、行(row)、单元格(cell)
HSSFWorkBook workBook=new HSSFWorkBook();
HSSFSheet sheet=workBook.createSheet();HSSFRow row0=sheet.createRow(0);HSSFCell cell=row0.createCell();给单元格设置内容
cell.setCellValue('这是导出的第一行');
给单元格设置样式
HSSFCellStyle cellStyle= workBook.createCellStyle();cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER); //设置水平居中cellStyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER); //设置垂直居中cellStyle.setFillForegroundColor((short) HSSFColor.BLUE.Index);cellStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND); //设置单元格的颜色cellStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN);//设置单元格的边框,其他的是top,left,rightcell.setCellStyle(style); 关于HSSFColor的颜色,必须是short类型,因此数据最多不超过64,实际上,这个值介于8-64之间才会生效;那么,如果HSSFColor给出的颜色都不符合需求,那么就需要自定义颜色了,这里用到HSSFPalette对象HSSFPalette palette=workBook.createCustomPallete();
palette.setColorAtIndex((short)8,(byte)222,(byte)222,(byte)222);//第一个参数就是setFillForeGroundColor(short index)中的index,后面的三个分别是三原色 r,g,b这样设置之后,原先8对应的颜色就会被我们定义的颜色覆盖
设置行高和字体row.setHightInPoint((short)22); //设置行高
HSSFFont font=workBook.creatFont();
font.setFontHeightInPoint((short)16);font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);cellStyle.setFont(font);注意:
HSSFCellStyle的设置值最好只设置一遍,不然会不起效果,也就是说如果有其他的样式,最好用HSSFWorkBook再实例一个style设置冻结单元格
sheet.createFreezePane(int col,int row)
看完以上,基本上一个excel的基本功能就能实现了,创建怎样的行,怎么的单元格就看你的需要了,下面来说说导出
导出可以使用文件输出流FileOutputStream
try{ OutputStream outStream=new FileOutputStream(String outPath); workBook.write(outStream); outStream.flush(); outStream.close();}catch(IOException e){ e.printStack();}知道了以上内容,基本上就可以满足一个Exl导出需求的实现了!!!!