内蒙古java团队

j2se,j2ee开发组
posts - 139, comments - 212, trackbacks - 0, articles - 65
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

JSP使用POI读写Excel文件

Posted on 2007-12-25 10:43 帅子 阅读(2746) 评论(1)  编辑  收藏 所属分类: J2EE技术专区
步骤详解
1、在Tomcat安装目录下的webapps目录下新建POI目录,在该目录中建立WEB-INF、并在WEB-INF中建立lib目录。
2、从http://jakarta.apache.org/poi/ 下载POI组件包,将其解压缩到硬盘,找到其中的poi-2.5.1-final-20040804.jar拷贝到应用程序的WEB-INF/lib目录下。
3、打开记事本软件,编写生成Excel文件的页面writeexcel.jsp,其代码如下:
<%@ page language="java"  contentType ="text/html;charset=gb2312" %> 
 <%@ page 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,java.io.* " %> 
 <% 
    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( " sun " );
    } 
    String filename=application.getRealPath("/")+"test.xls";
    FileOutputStream fo=new FileOutputStream(filename);
    wb.write(fo);
    out.println("excel 文件生成,存放在"+filename);
   
 %>
4、按下键盘上的【Ctrl】/【S】键,保存该文件,保存在“webapps\POI”目录下。
5、双击桌面上的IE浏览器图标 ,然后在浏览器的地址栏中输入http://127.0.0.1:8080/POI/writeexcel.jsp,按键盘上的“回车键 
使用POI生成Excel文件
6、到该目录下打开生成的Excel文件
制作要点
在JSP页面中将数据转换成Excel格式是经常使用的一个功能。POI是Apache Jakarta组织的子项目,使用简单方便,功能强大,可以操作Excel、Word等文件。
POI组件包中提供了几个类来方便的操作Excel文档:
HSSFWorkbook类表示Excel文档中的Book;
HSSFSheet类表示Excel文档中的Sheet;
HSSFRow类表示Excel文档中的行;
HSSFCell类表示Excel文档中的单元格。
用POI生成一个新的Excel文件基本步骤如下:
1、创建新的Excel工作簿
HSSFWorkbook workbook = new HSSFWorkbook();
2、创建工作表
HSSFSheet sheet = workbook.createSheet();
3、在索引0的位置创建行(最顶端的行)
HSSFRow row = sheet.createRow((short)0);
4、在索引0的位置创建单元格(左上端)
HSSFCell cell = row.createCell((short) 0);
   5、定义单元格类型
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
6、在单元格中输入一些内容
cell.setCellValue("增加值");
7、新建一输出文件流并把相应的Excel 工作簿存盘
FileOutputStream fOut = new FileOutputStream(outputFile);
workbook.write(fOut);
fOut.flush();
程序关键代码解释
生成Excel文件的页面writeexcel.jsp片断代码:
<% 
    //创建新的Excel工作簿
    HSSFWorkbook wb  =   new  HSSFWorkbook();
    //创建名称为sheet1的工作表
    HSSFSheet sheet  =  wb.createSheet( " sheet1 " );
    //在索引0的位置创建行
    HSSFRow row  =  sheet.createRow(( short )0);
    //在索引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( " sun " );
    } 
    //将生成的Excle表格保存
    String filename=application.getRealPath("/")+"test.xls";
    FileOutputStream fo=new FileOutputStream(filename);
    wb.write(fo);
    out.println("excel 文件生成,存放在"+filename);
   
 %>


评论

# re: JSP使用POI读写Excel文件[未登录]  回复  更多评论   

2008-01-01 17:50 by Wei
So appreciate, thanks

只有注册用户登录后才能发表评论。


网站导航: