`
zzc1684
  • 浏览: 1194046 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

jsp利用POI直接生成Excel并在页面提示打开下载

    博客分类:
  • poi
阅读更多
java中导出Excel有两个组件可以使用,一个是jxl,一个是POI,我这里用的是POI。导出是可以在服务器上生成文件,然后下载,也可以利用输出流直接在网页
中弹出对话框提示用户保存或下载。生成文件的方式会导致服务器中存在着垃圾文件,实现方式不太优雅,所以这里我采用的是后面直接通过输出流的方式。
1、修改WEB服务器的CONF/web.xml,添加
    <mime-mapping>
        <extension>xls</extension>
        <mime-type>application/vnd.ms-excel</mime-type>
    </mime-mapping>
    
    如果不添加这个,那么在网页中下载的时候就变成了JSP文件

2、download.jsp文件

<%@ page contentType="application/vnd.ms-excel" language="java" import="java.util.*,com.shangyu.action.WriteExcel" pageEncoding="GBK"%><%
response.setHeader("Content-Disposition","attachment;filename=test123.xls");//指定下载的文件名
response.setContentType("application/vnd.ms-excel"); 
WriteExcel  we=new WriteExcel();
we.getExcel("111.xls",response.getOutputStream());
%>

注意不要有html代码,并且除了<% %> 中间的代码,其它的地方不要有空格。否则在导出文件的时候会在后台出现异常,虽然不影响程序的使用,到时令人看起来
不太舒服

3、WriteExcel.java  生成Excel的JavaBean,复杂的应用请查看API

package com.shangyu.action;
import java.io.*;

import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFCell;
public class WriteExcel 
{

 public   void   getExcel(String   sheetName,OutputStream   output) 
 {
  HSSFWorkbook wb=new HSSFWorkbook();
  HSSFSheet sheet1=wb.createSheet("sheet1");
  HSSFRow row=sheet1.createRow((short)0);
  HSSFCell cell=row.createCell((short)0);
  cell.setCellValue(1);
  
  row.createCell((short)1).setCellValue(2);
  row.createCell((short)2).setCellValue(3);
  row.createCell((short)3).setCellValue("中文字符");
  
  
  row=sheet1.createRow((short)1);
  cell=row.createCell((short)0);
  cell.setCellValue(1);
  
  row.createCell((short)1).setCellValue(2);
  row.createCell((short)2).setCellValue(3);
  row.createCell((short)3).setCellValue("中文字符");
  
  //FileOutputStream fileout=new FileOutputStream("workbook.xls");
  
  try   { 
         output.flush(); 
         wb.write(output); 
         output.close();
 }   catch   (IOException   e)   { 
         e.printStackTrace(); 
         System.out.println( "Output   is   closed "); 
 } 
 }
}


通过以上三步,应该可以直接生成Excel文件下载或保存了,这在一些信息系统中相当有用

 

分享到:
评论

相关推荐

    jsp利用POI生成Excel并在页面中导出的示例.docx

    jsp利用POI生成Excel并在页面中导出的示例.docx

    jsp利用POI生成Excel并在页面中导出的示例

    本篇文章主要是介绍jsp利用POI生成Excel并在页面中导出的示例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。

    jsp使用poi生成有格式的excel

    jsp使用poi生成有格式的excel,有合并,有打印等,代码写在jsp中,方便初学者修改与学习

    poi +jsp 实现excel的上传下载的小例子

    一个index页面,三个链接实现excel的动态读取和导入,最最重要的是里面的类可以复用。。。自己改改应该可以应用到自己的工程中。。。。。

    POI-3.6下载

    用于java导出生成excel,excel导出jsp的图片

    jsp实现HTML表格导出和导入Excel功能

    在这里,通过使用JQUERY+JQUERY UI+JSON-LIB+POI实现这个功能数据导出设计:通过使用JQUERY分析表格的结构,读取表格结构数据构建JSON字符串,发送到后台,后台分析表格结构,然后生成Excel数据. 本程序基于是...

    jsp导出Excel

    使用JSP操作Excel有三中方法 第一种方法:静态方法生成Word和Excel文档 第二种方法:如何使用POI组件操作Excel 地三种方法:使用JXL组件操作Excel

    table2csv.js

    页面数据用js导出excel,在IE可以用new 一个...所以要在web前端把table生成excel,可以把table的数据生成csv。如果是要做成复杂的excel,可以用java的POI开源组件处理。 所采用的技术是:js的组件table2CSV+jsp

    完美解决方案:Java生成复杂Word文档

    客户要求用程序生成标准的word文档,要能打印,而且不能变形,以前用过很多解决方案,都在客户严格要求下牺牲的无比惨烈。  POI读word文档还行,写文档实在不敢恭维,复杂的样式很难控制不提,想象一下一个20多页,...

    SOAOFFICE - 微软 OFFICE 中间件

    SOAOffice 完全抛弃了传统利用Office服务器端自动化技术存取文档数据的种种弊端和缺陷,采用独创的专利技术构建了一个功能强大、简单易用的微软Office中间件平台,平台提供标准的.net和java组件接口,不但能够在线...

    freemarker生成复杂word

    如流程审批单,在流程处理完成后将处理过程按照流程单的要求导出,有时程序中需要实现生成标准Word文档,要求能够打印,并且保持页面样式不变,常见的方案有POI、iText、JACOB、JSP几种方式,POI读取Word文档比较...

    Java_Web开发实战1200例第1卷.part2

    21.2 应用POI组件操作Excel 807 第22章 报表与打印 829 22.1 Web打印 830 22.2 利用Word打印报表 833 22.3 利用Excel打印报表 838 22.4 应用WebBrowser+CSS套打邮寄 22.5 打印库存报表 844 22.6 高级报表 850 第6篇 ...

    Java_Web开发实战1200例第1卷.part3

    21.2 应用POI组件操作Excel 807 第22章 报表与打印 829 22.1 Web打印 830 22.2 利用Word打印报表 833 22.3 利用Excel打印报表 838 22.4 应用WebBrowser+CSS套打邮寄 22.5 打印库存报表 844 22.6 高级报表 850 第6篇 ...

    java开发常用jar包

    poi.jar:Apache的操作数据转换的类库,能导入和到处Excel,与jxl.jar功能重复。 mysql-connector-java-5.1.6-bin.jar mysql驱动包 ojdbc5.jar jdbc驱动包 iTextAsian.jar 中文显示问题 jdt-compiler-3.1.1....

    Java范例开发大全 (源程序)

     实例134 生成Excel文件 194  实例135 读取Excel文件中的内容 198  实例136 生成PDF文件 199  实例137 读取PDF文件中的内容 203  实例138 用iText生成Word文件 205  实例139 利用POI读取Word文件中的内容...

    java范例开发大全(pdf&源码)

    实例134 生成Excel文件 194 实例135 读取Excel文件中的内容 198 实例136 生成PDF文件 199 实例137 读取PDF文件中的内容 203 实例138 用iText生成Word文件 205 实例139 利用POI读取Word文件中的内容 208 7.3 字符流 ...

    java范例开发大全源代码

     实例134 生成Excel文件 194  实例135 读取Excel文件中的内容 198  实例136 生成PDF文件 199  实例137 读取PDF文件中的内容 203  实例138 用iText生成Word文件 205  实例139 利用POI读取Word文件中...

    java范例开发大全

    实例134 生成Excel文件 194 实例135 读取Excel文件中的内容 198 实例136 生成PDF文件 199 实例137 读取PDF文件中的内容 203 实例138 用iText生成Word文件 205 实例139 利用POI读取Word文件中的内容 208 7.3 字符流 ...

    Java范例开发大全(全书源程序)

    实例134 生成Excel文件 194 实例135 读取Excel文件中的内容 198 实例136 生成PDF文件 199 实例137 读取PDF文件中的内容 203 实例138 用iText生成Word文件 205 实例139 利用POI读取Word文件中的内容 208 7.3 ...

Global site tag (gtag.js) - Google Analytics