java读写excel文件poi_JSP使用POI读写Excel文件

帅子 阅读(2538) 评论(1)  编辑  收藏 所属分类: J2EE技术专区

d90a77cebc5d1dcf351f1d609ae56cc7.png

步骤详解

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,其代码如下:

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 

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 

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);

%>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值