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

利用Servlet导出Excel

    博客分类:
  • Jsp
 
阅读更多

-----因为Excel可以打开HTML文件,因此可以利用页面的Form表单把页面中的table内容提交给Servlet,然后后台把提交上来的table内容转换成文件流的形式,并以下载的形式转给客户端,由此完成导出Excel功能。

效果:



 <!--[endif]-->

Java代码

package com.mr;

 

import java.io.IOException;

import java.io.PrintWriter;

 

import javax.servlet.ServletException;

import javax.servlet.ServletOutputStream;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

/**

 * 利用Servlet导出Excel

 * @author CHUNBIN

 *

 */

public class ExportExcelServlet extends HttpServlet {

      

       public void doGet(HttpServletRequest request, HttpServletResponse response)

                     throws ServletException, IOException {

              doPost(request, response);

       }

 

       public void doPost(HttpServletRequest request, HttpServletResponse response)

                     throws ServletException, IOException {

              request.setCharacterEncoding("UTF-8");//设置request的编码方式,防止中文乱码

              String fileName ="导出数据";//设置导出的文件名称

              StringBuffer sb = new StringBuffer(request.getParameter("tableInfo"));//将表格信息放入内存

              String contentType = "application/vnd.ms-excel";//定义导出文件的格式的字符串

              String recommendedName = new String(fileName.getBytes(),"iso_8859_1");//设置文件名称的编码格式

              response.setContentType(contentType);//设置导出文件格式

              response.setHeader("Content-Disposition", "attachment; filename=" + recommendedName + "\"");//

              response.resetBuffer();

              //利用输出输入流导出文件

              ServletOutputStream sos = response.getOutputStream();

              sos.write(sb.toString().getBytes());

              sos.flush();

              sos.close();

       }

}

 

Jsp代码

<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>导出Excel</title>

<script type="text/javascript">

    function test(){

       document.getElementById("tableInfo").value=document.getElementById("table").innerHTML;

    }

</script>

<style>

    body{font-family:宋体;font-size:11pt}

</style>

</head>

<body>

<form action="<%=request.getContextPath()%>/servlet/ExportExcelServlet" method="post">

    <span id="table">

    <table bgcolor="#EEECF2" bordercolor="#A3B2CC" border="1" cellspacing="0">

       <tr><th>学号</th><th>姓名</th><th>科目</th><th>分数</th></tr>

       <tr><td>10001</td><td>赵二</td><td>高数</td><td>82</td></tr>

       <tr><td>10002</td><td>张三</td><td>高数</td><td>94</td></tr>

       <tr><td>10001</td><td>赵二</td><td>线数</td><td>77</td></tr>

       <tr><td>10002</td><td>张三</td><td>线数</td><td>61</td></tr>

    </table>

    </span><br/>

    <input type="submit" name="Excel" value="导出表格" onclick="test()"/>

    <input type="hidden" id="tableInfo" name="tableInfo" value=""/>

</form>

</body>

</html>

  • 大小: 112.4 KB
分享到:
评论
2 楼 hanmiao 2013-12-11  
代码用格式化工具高亮下吧,这样的代码看上去太乱了。
1 楼 icy365 2013-07-05  
这个思路碉堡了. 佩服.

相关推荐

    JSP SERVLET 导出数据库内容到EXCEL

    本篇主要探讨如何利用JSP和Servlet将数据库中的数据导出到Excel文件,这对于数据分析、报告生成等场景非常实用。 首先,我们需要了解JSP和Servlet的基本概念。JSP是一种动态网页技术,它允许开发者在HTML页面中嵌入...

    servlet+api导出excel

    本场景中,"servlet+api导出excel"指的是利用Servlet API来实现从数据库(这里是Oracle)中获取数据并导出为Excel文件供用户下载的功能。下面将详细解释这个过程涉及的技术点。 首先,我们需要了解Servlet API的...

    poi导出excel表格

    本教程将详细讲解如何使用Apache POI在Web环境中导出Excel表格,避免生成不必要的临时文件,从而优化系统资源管理。 一、Apache POI简介 Apache POI 是一个开源项目,它提供了Java API来处理Microsoft的Office格式...

    Java 利用 POI 和 servlet 导出 Excel-附件资源

    Java 利用 POI 和 servlet 导出 Excel-附件资源

    java及jsp下导出excel表格

    本文将详细介绍如何在Java和JSP环境中利用Apache POI库导出Excel表格,包括必要的库导入、代码示例和关键步骤解析。 #### Apache POI库简介 Apache POI是Apache软件基金会的一个开源项目,它提供了一组用于处理...

    servlet导出文件

    当我们谈论“Servlet导出文件”时,我们通常是指从服务器端生成或获取文件,然后将其作为HTTP响应发送到客户端。这个过程涉及几个关键步骤: 1. **文件准备**:这可能包括从数据库、文件系统或其他数据源获取数据,...

    struts1.2+extjs+导出excel项目

    Struts1.2 + ExtJS + 导出Excel项目是一个基于Web的应用开发框架组合,用于构建企业级的Java应用程序。这个项目的重点在于整合Struts1.2(一个经典的MVC框架)与ExtJS(一个富客户端JavaScript库)来提供用户友好的...

    使用JSP+jqueryUI+java Servlet通过Apache POI实现Excel导入导出

    在导入导出Excel的场景中,JSP可以作为用户界面,展示表单并处理用户的请求。 jQuery UI则是一个强大的JavaScript库,提供了丰富的用户交互组件,如对话框、表格排序等。在本项目中,我们可以利用它来创建一个友好...

    JFinal实现 Demo - 导出Excel.rar

    这个`Demo - 导出Excel`项目应该包含了一个简单的应用示例,展示了如何在JFinal中使用Apache POI实现Excel导出。通过运行此项目,你可以观察到整个流程,并根据自己的需求进行定制。记得在实际应用中,你需要根据...

    java实现导入导出Excel表

    在Java编程领域,导入和导出Excel表格是一项常见的任务,特别是在数据处理、报表生成和数据分析等场景中。本项目提供了一个整合了Spring、Hibernate和Struts2(简称SSH)三大框架的小型应用示例,利用Apache POI库来...

    ireport利用jsp导出excel&pdf;报表源代码

    【标题】:“ireport利用jsp导出excel&pdf;报表源代码” 【描述】:“本人验证过的jsp代码,ireport导出pdf excel报表” 在Java Web开发中,生成各种类型的报表是常见的需求,例如用于数据分析、业务统计或者数据...

    kavachart 报表 导出excel 例子

    描述中的"kavachart 报表 导出excel 的例子"进一步确认我们将关注一个实际操作的示例,该示例可能包含代码片段或完整流程,展示如何利用Kavachart的功能将报表数据转换为Excel格式。 在标签中,同样强调了...

    java导出excel实例

    在Java编程环境中,导出Excel是一项常见的需求,特别是在数据分析、报表生成或数据交换等领域。本实例将探讨如何利用Apache POI库来实现这一功能。Apache POI是一个开源项目,它提供了读取和写入Microsoft Office...

    ext导出excel

    要实现"ext导出excel",首先需要在JSP页面上创建EXT AJAX请求。在EXT中,你可以使用`Ext.Ajax.request`方法发起异步请求。请求的目标是一个Servlet或者Controller,这个后端处理程序将负责生成Excel文件。在请求参数...

    利用POI生成Excel并通过Servlet下载示例

    本示例将详细解释如何利用POI生成Excel文件,并通过Servlet进行下载。 首先,了解Apache POI的基本用法。POI提供了HSSF(用于处理.xls格式,即Excel 97-2003格式)和XSSF(用于处理.xlsx格式,即Excel 2007及以上...

    JXL导出Excel数据表

    本篇将详细介绍如何使用JXL库来导出Excel数据表,并结合描述中的信息,探讨其核心特性和实现方式。 首先,我们来理解"JXL导出Excel数据表"这一主题。JXL(Java Excel API)是一个开源项目,它允许Java程序创建、...

    Java使用POI实现Excel报表的导入和导出

    利用开源组件POI3.0.2,用java语言实现了动态导出Excel文档,并且也实现了Excel文档的导入。有完整的例子,可直接使用。ExportExcel类为导出Excel报表通用类。 1.将源代码导入eclipse中 2.部署项目,启动tomcat...

    POI导出操作Excel

    总结起来,这个例子展示了如何利用Apache POI将数据库查询结果导出为Excel文件供用户下载。这在数据分析、报表生成或数据交换场景中非常常见,因为Excel提供了灵活的格式化和分析功能。通过熟练掌握Apache POI,...

Global site tag (gtag.js) - Google Analytics