日期:2014-05-16  浏览次数:20307 次

jsp导出excel文件,使用POI的

?<% @ page language = " java "? contentType = " text/html;charset=gb2312 " %>
?<% @ page language = " java "
???? import = " java.util.*,org.apache.poi.hssf.usermodel.HSSFWorkbook,org.apache.poi.hssf.usermodel.HSSFSheet,org.apache.poi.hssf.usermodel.HSSFRow,org.apache.poi.hssf.usermodel.HSSFCell " %>
?<%
??? response.setContentType( " APPLICATION/OCTET-STREAM " );
??? response.setHeader( " Content-Disposition " ,
???????????? " attachment; filename=\ " test.xls "? +
?
???????????? " \ "" );
?
??? HSSFWorkbook wb? =?? new? HSSFWorkbook();
??? HSSFSheet sheet? =? wb.createSheet( " sheet1 " );

???? // 以下以写表头
???? // 表头为第一行
???? HSSFRow row? =? sheet.createRow(( short )? 0 );

??? HSSFCell cell1? =? row.createCell(( short )? 0 );
??? HSSFCell cell2? =? row.createCell(( short )? 1 );
??? HSSFCell cell3? =? row.createCell(( short )? 2 );

??? cell1.setEncoding(( short )? 1 );
??? cell1.setCellType( 1 );
??? cell2.setEncoding(( short )? 1 );
??? cell2.setCellType( 1 );
??? cell3.setEncoding(( short )? 1 );
??? cell3.setCellType( 1 );

???? // 定义表头的内容
???? cell1.setCellValue( " 测试 " );
??? cell2.setCellValue( " 测试2 " );
??? cell3.setCellValue( " 测试3 " );

???? for? ( int? i? =?? 0 ; i? <?? 4 ; i ++ )?? {
???????? // 定义数据从第二行开始???????
???????? row? =? sheet.createRow(( short ) i? +?? 1 );
??????? cell1? =? row.createCell(( short )? 0 );
??????? cell2? =? row.createCell(( short )? 1 );
??????? cell3? =? row.createCell(( short )? 2 );

??????? cell1.setEncoding(( short )? 1 );
??????? cell1.setCellType( 1 );
??????? cell2.setEncoding(( short )? 1 );
??????? cell2.setCellType( 1 );
??????? cell3.setEncoding(( short )? 1 );
??????? cell3.setCellType( 1 );

???????? // 填充内容
?
??????? cell1.setCellValue( " ggg " );
??????? cell2.setCellValue( " 00000 " );
??????? cell3.setCellValue( " adfasdf " );

??? }
??? wb.write(response.getOutputStream());
??? response.getOutputStream().flush();
??? response.getOutputStream().close();
?%>
?