`

使用POI通过servlet导出数据到Excel文件中

    博客分类:
  • Java
阅读更多
package cn.com.songjy.servlet;

import java.io.IOException;
import java.io.OutputStream;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.codec.binary.Base64;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Row;

public class ExcelServlet extends HttpServlet {
	
	private static final long serialVersionUID = 1L;
       
    public ExcelServlet() {}

	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		doPost(request, response);
	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		response.setHeader("Connection", "close");
		response.setHeader("Content-Type", "application/vnd.ms-excel;charset=UTF-8");
		String filename = "会议记录清单.xls";
		filename = encodeFileName(request, filename);
		response.setHeader("Content-Disposition", "attachment;filename=" + filename);
		
		HSSFWorkbook wb = new HSSFWorkbook();
		HSSFSheet sheet = wb.createSheet("会议记录清单");
		//wb.setSheetName(0, "会议记录清单");
		
		String[][] content = {
				{ "流水号", "开始时间", "结束时间", "会议时长(分)", "会议人数", "实际参与人数" },
				{ "1", "2012-03", "2012-05", "45", "5", "3" } };
		
		for(int i=0; i<content.length; i++){
			Row row = sheet.createRow(i);
			for (int j=0; j<content[i].length; j++) {
				row.createCell(j).setCellValue(content[i][j]);
			}
		}
		
		
		OutputStream out = response.getOutputStream();
		wb.write(out);
		out.close();
	}
	
	public  String encodeFileName(HttpServletRequest request,
			String fileName) throws UnsupportedEncodingException {
		String agent = request.getHeader("USER-AGENT");
		if (null != agent && -1 != agent.indexOf("MSIE")) {
			return URLEncoder.encode(fileName, "UTF-8");
		} else if (null != agent && -1 != agent.indexOf("Mozilla")) {
			return "=?UTF-8?B?"
					+ (new String(Base64.encodeBase64(fileName
							.getBytes("UTF-8")))) + "?=";
		} else {
			return fileName;
		}
	}

}


使用线程每隔一小时创建一个CSV文件报表:http://www.oschina.net/code/snippet_47886_20440

参阅:http://www.oschina.net/code/snippet_992559_20852
  • 大小: 40.4 KB
分享到:
评论

相关推荐

    POI导出Excel文件

    可以运行的POI导出Excel文件实例,里面有两种方法,一个是Servlet,一个是main

    POI导出EXCEL的示例

    POI实现导出EXCEL文件。可通过servlet导出也可用本地main函数导出。

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

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

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

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

    poi导出和导入Excle使用文档

    poi导入导出Excel

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

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

    POI 导出excel

    使用poi导出excel代码。

    POI导入导出EXCEL文件.(struts 1.x and struts2.x).doc

    web中使用POI导入导出EXCEL文件的例子 struts1.x的例子,struts2.x可以参考自己修改 1.action的写法 import java.io.*; import java.sql.*; import java.util.ArrayList; import javax.servlet....

    Java POI 导入导出Excel简单实例源代码

    Java POI 导入导出Excel简单实例源代码 该源代码的jar包,参见以下博文附录截图 Java POI导出EXCEL经典实现 Java导出Excel弹出下载框 http://blog.csdn.net/evangel_z/article/details/7332535 web页面导出Excel...

    Excel poi java jsp

    jsp技术结合servler实现excel文件的导出,excel数据从servlet里读取,你可让其封装方法从数据库里读取。

    poi实例

    利用poi导出数据到excel,在servlet中实现

    poi导出excel

    poi 导出excel与导入excel工具类: localhost:8080/webServlet/web/index.do 导出测试链接 导入工具类中,在main方法中运行即可 参考开源框架jeesite

    servlet中把查出来的数据(报表)用excel显示

    基本流程如下 Button-(请求)-&gt;Servlet-(查询)-&gt;数据库-(结果)-&gt;POI-(Excel)-&gt;OutputStream-(设置Header)-&gt;Servlet-(输出流)-&gt;客户端浏览器

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

    20.3 应用POI组件导出到Word 772 第21章 JSP操作Excel 775 21.1 应用JXL组件操作Excel 776 21.2 应用POI组件操作Excel 807 第22章 报表与打印 829 22.1 Web打印 830 22.2 利用Word打印报表 833 22.3 利用Excel打印...

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

    20.3 应用POI组件导出到Word 772 第21章 JSP操作Excel 775 21.1 应用JXL组件操作Excel 776 21.2 应用POI组件操作Excel 807 第22章 报表与打印 829 22.1 Web打印 830 22.2 利用Word打印报表 833 22.3 利用Excel打印...

    JFinal 项目所需的所有实用jar包

    bccs-api-lib-1.0.jar(百度云推送) c3p0-0.9.1.2.jar(数据源,处理数据库连接) commons-fileupload-...poi-3.8-20120326.jar(导入导出Excel) standard.jar(JSTL/EL表达式所需) ueditor.jar(文本编辑器所需)

    基于JSP的停车场管理系统(MySQL版)

    MVC模式、JSP、Servlet、JDBC、HTML、JavaScript、CSS、JQUERY、Excel导出(POI)等。 程序功能: 1.用户:注册、个人信息管理、车辆信息维护、卡余额查看、收费标准查看、车位信息、 车辆停车、停车记录查看等。 2...

    freemarker生成复杂word

    有时需要按照固定的模板将数据导出到Word,如流程审批单,在流程处理完成后将处理过程按照流程单的要求导出,有时程序中需要实现生成标准Word文档,要求能够打印,并且保持页面样式不变,常见的方案有POI、iText、...

    java在线考试系统.zip

    柴智:利用POI插件实现本地Excel批量上传题目到数据库题库。完成teacher类,管理员类的查看个人信息servlet方法。 8/7 9:00 方娇:实现了教师查看学生成绩;把所有的SQL语句修改封装到dao包;修改昨天遗留的错误。 ...

Global site tag (gtag.js) - Google Analytics