-----因为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
分享到:
相关推荐
简单的jsp+servlet实现把xlsx(excel,07版之前为xlsx,之后为xls,xls用HSSFWorkBook)数据导入到mysql,并导出
可以自己变化SQL语句执行 通用性强 适合像我一样的初手 大家测试的时候只要在 文本框中输入自己的 SQL语句就可以得到导出结果
servlet+api导出excel,从Oracle中查询数据存入List泛型集合,从List泛型集合中筛选出符合条件的数据,存入泛型集合,导出excel,并且提供下载
可以运行的POI导出Excel文件实例,里面有两种方法,一个是Servlet,一个是main
Java 利用 POI 和 servlet 导出 Excel-附件资源
jsp+Servlet实现的最简单的Excel表导入导出数据库的操作
POI实现导出EXCEL文件。可通过servlet导出也可用本地main函数导出。
根据excel模板动态导出数据库数据 package text; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.UUID; import javax.servlet....
导出excel业务流程: ---------------------------------------------------------- 1、用户点击按钮向服务器发送请求同时将页面数据一同发送到服务器端 2、服务器端接收请求和数据 3、经过servlet对接收到的数据...
实验1: 利用servlet实现一个简单的聊天室 实验目的 (1) 理解servlet的工作原理 (2) 掌握servlet编程基本技能 实验内容及要求 1. 利用servlet技术实现一个简单的聊天室,实现多人同时交流。当发送聊天信息时,信息...
使用Echarts通过Servlet导出图片,并将图片保存到Excel中
用SpringMVC做导出非常简单,比Servlet简单多了
使用JSP+jqueryUI+java Servlet通过Apache POI实现Excel导入导出
利用开源组件POI3.0.2,用java语言实现了动态导出Excel文档,并且也实现了Excel文档的导入。有完整的例子,可直接使用。ExportExcel类为导出Excel报表通用类。 1.将源代码导入eclipse中 2.部署项目,启动tomcat...
NULL 博文链接:https://czj4451.iteye.com/blog/2171745
介绍通过jsp servlet从后台数据库导出csv格式的方法
Java POI 导入导出Excel简单实例源代码 该源代码的jar包,参见以下博文附录截图 Java POI导出EXCEL经典实现 Java导出Excel弹出下载框 http://blog.csdn.net/evangel_z/article/details/7332535 web页面导出Excel...
web中使用POI导入导出EXCEL文件的例子 struts1.x的例子,struts2.x可以参考自己修改 1.action的写法 import java.io.*; import java.sql.*; import java.util.ArrayList; import javax.servlet....
封装了一个简单易用、通用、动态的从数据库导出到Excel的方法,可以动态的指定导出那些列,显示什么名字,按什么顺序显示;支持本地文件存储和JSP/Servlet文件下载。