jsp导出excel文件,使用POI和jxl

导读:
   jsp导出excel文件,使用POI和jxl
  使用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 =
  newHSSFWorkbook();
  
  
  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(inti =
  0i <
  4i++)
  
  {
  //定义数据从第二行开始
  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();
  
  
  %>
  POI包下载地址:http://www.apache.org/dyn/closer.cgi/jakarta/poi/
  利用JExcelApi来动态生成excel文档
  首先,请到http://www.andykhan.com/jexcelapi/index.html下载java excel api,主页上同时有比较详细的介绍。
  最新版本为2.4.3,
  同时也可以到:http://www.andykhan.com/jexcelapi/jexcelapi_2_4_3.tar.gz下载到该最新版的API,由于该项目是开源的,所以下载的文件中已经包含了源代码,同样的,文件中也有javadoc,大家在开发中可以参考javadoc。
  下载完毕后,我们需要把文件中的jxl.jar加入到你的开发classpath中。
  下图是现在要生产的excel截图:
  
  
  代码如下:
  File excel = new File("d:/aming.xls");
  if(!excel.exists()){
  excel.createNewFile();
  }
  WritableWorkbook wwb = Workbook.createWorkbook(excel);
  WritableSheet ws = wwb.createSheet("testexcel",0);
  Label lable = null;
  
  //对中文的支持非常好
  lable = new Label(0,0,"我的中国心");
  ws.addCell(lable);
  
  //可以定义模板格式化你的cell
  WritableFont wf = new WritableFont(WritableFont.ARIAL,10,WritableFont.NO_BOLD,false,UnderlineStyle.NO_UNDERLINE, Colour.BLACK);
  WritableCellFormat wcf = new WritableCellFormat(wf);
  wcf.setBackground(Colour.WHITE);
  lable = new Label(0,1,"fdsl",wcf);
  ws.addCell(lable);
  
  wf = new WritableFont(WritableFont.TIMES,18,WritableFont.BOLD,true);
  wcf = new WritableCellFormat(wf);
  lable = new Label(0,2,"aming",wcf);
  ws.addCell(lable);
  
  //cell的类型同样可以定义为数字类型
  Number nb = new Number(0,3,21.4321321);
  ws.addCell(nb);
  
  //支持格式化你的数字串
  NumberFormat nf = new NumberFormat("#.###");
  wcf = new WritableCellFormat(nf);
  nb = new Number(0,4,21.43254354354354,wcf);
  ws.addCell(nb);
  //cell的类型可以为boolean类型
  Boolean bl = new Boolean(0,5,true);
  ws.addCell(bl);
  //cell的类型同样可以为日期,时间
  DateTime dt = new DateTime(0,6,new Date());
  ws.addCell(dt);
  //并且可以很好格式化你的日期格式
  DateFormat df = new DateFormat("MM dd yyyy hh:mm:ss");
  wcf = new WritableCellFormat(df);
  dt = new DateTime(0,7,new Date(),wcf);
  ws.addCell(dt);
  
  //开始写文件了
  wwb.write();
  wwb.close();
  上面的下载地址无法打开.
  下载请到:http://prdownloads.sourceforge.net/jexcelapi

本文转自
http://www.loohost.com/thread-1311-1-1.html
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值