介绍:
Apache POI是Apache软件基金会的开源项目,POI提供API给Java程序对Microsoft Office格式档案读和写的功能。 .NET的开发人员则可以利用NPOI (POI for .NET) 来存取 Microsoft Office文档的功能。
1.常用类介绍:
HSSFWorkbook:
代表一个ExcEL文件
创建方法:
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet:
代表一个Excel表
一个ExcEL文件可以有多个sheet表!
创建方法:
//先创建一个Excel文件
HSSFWorkbook wb = new HSSFWorkbook();//Excel文件
HSSFSheet sheet =wb.createSheet();//创建sheet
HSSFRow:
代表一个sheet中的一行数据
创建方法:
HSSFRow row=sheet.createRow(rowNum);//int rowNum是当前创建的行数
row行数从0开始,第一个下表是0;
删除row:
sheet.romoveRow(row);
HSSFCell
代表一个单元格
创建方法:
HSSFCell cell=row.createCell(cellNum);//int cellNum是当前创建的列数;
添加内容到cell:
cell.setCellValue("偷电瓶养你")
删除Cell:
row.removeCell(cell);//cell是需要删除的cell
HSSFFont:
代表一个字体
创建方法
HSSFFont font = wb.createFont();
常用方法:
font.setFontName("微软雅黑");
font.setFontHeightInPoints(14);//字体大小
font.setColor(HSSFColor.Green.index);//字体颜色
font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);//设置粗体
HSSFCellStyle
代表单元格风格
创建方法:
HSSFCellStyle s=wb.createCellStyle();//通俗点说就是创建一个样式模板
常用方法:
水平居中:
style.setAlignment(HSSFCellStyle.ALIGN_CENTER);
垂直居中:
style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);//
自动换行:
style.setWrapText(true); //false为不自动换行
给cell添加字体font:
style.setFont(font);//把字体添加到格式
此时你的样式文件style和你的cell是没有关系的 我们需要将样式添加到cell
设置cell样式:
cell.setCellStyle(style);
2.保存到文件
OutputStream os=new FileOutputStream("c/downloads","UTF-8");
wb.write(os);调用wb的write方法把wb输出到OS
3.发送到客户端
response.reset();
response.setContentType("application/octet-stream; charsetapplication/octet-stream=utf-8");
response.setHeader("Content-Disposition", "attachment; filename="+ Encodes.urlEncode(fileName));
OutputStream output=response.getOutputStream();
wb.weite(output);
output.close();