`
weiwu83
  • 浏览: 188677 次
  • 来自: ...
社区版块
存档分类
最新评论

使用jxl生成excel并下载

阅读更多
使用相关工具:
jbuilder9 Enterprise Edition
weblogic 8.1 sp3
oracle9i
jxl库

刚好有个项目要使用java将数据输出到Excel报表,所以
就自己总结了一下,将自己的经验分享给大家。

1、创建一个用于生成Excel的类ExcelOperate
该类主要用于生成自己想要的Excel报表。代码如下

public void createExcel()
  {
    try
    {
      File file = new File("C:\\test.xls");
      jxl.write.WritableWorkbook wwb = Workbook.createWorkbook(file);
      jxl.write.WritableSheet ws = wwb.createSheet("测试报表", 0);

      //......//中间代码省略

      wwb.write();
      wwb.close();

    }
    catch (Exception e) {
      e.printStackTrace();
    }

  }


2、创建一个用于下载的类ExcelDownLoad,添加一个方法
downLoadExcel().原代码如下

try
{
  //客户端下载时显示的名称
  String filenamedisplay = "test.xls";

  //生成文件的文件名(绝对路径)
String filenamedownload = "C:\\test.xls"

  filenamedisplay = URLEncoder.encode(filenamedisplay,"UTF-8");

   response.reset();
   response.setContentType("application/x-msdownload");
   response.addHeader("Content-Disposition","attachment;filename=" + filenamedisplay);

   output  = response.getOutputStream();

   fis = new FileInputStream(filenamedownload);

   byte[] b = new byte[1024];
   int i = 0;

   while((i = fis.read(b)) > 0)
   {
     output.write(b, 0, i);
   }

   output.flush();

   fis.close();

   output.close();

}
catch(Exception ex)......

(在此感谢版主YuLimin,我是看了他的代码后写出的)


2、在JBuilder中创建用于下载的名为DownLoadServlet的Servlet(当然你也可以用JSP)。代码如下:
 
  //生成Excel
  ExcelOperate op = new ExcelOperate();
    op.createExcel();

    //下载Excel
    ExcelDownLoad do= new ExcelDownLoad ();
    do.downLoadExcel();



OK!

现在你可以编译程序了,然后再IE中访问DownLoadServlet就可以了,不过你的客户端不要忘了装Excel哦!^_^
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics