`

列表数据导出到EXcel

    博客分类:
  • J2EE
 
阅读更多

此处用Servlet实现服务器端的处理,相关依赖包见附件,不说废话直接上代码。直接实现功能导出数据到EXcel.

 

 

import java.io.IOException;
import java.io.PrintWriter;
import java.io.Serializable;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.List;

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


import jxl.Workbook;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.WriteException;
import jxl.write.biff.RowsExceededException;

public class ExportExelServlet extends HttpServlet {

	/**
	 * Constructor of the object.
	 */
	public ExportExelServlet() {
		super();
	}

	/**
	 * Destruction of the servlet. <br>
	 */
	public void destroy() {
		super.destroy(); // Just puts "destroy" string in log
		// Put your code here
	}

	/**
	 * The doGet method of the servlet. <br>
	 * 
	 * This method is called when a form has its tag value method equals to get.
	 * 
	 * @param request
	 *            the request send by the client to the server
	 * @param response
	 *            the response send by the server to the client
	 * @throws ServletException
	 *             if an error occurred
	 * @throws IOException
	 *             if an error occurred
	 */
	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

//		response.setContentType("text/html");
//		PrintWriter out = response.getWriter();
//		out
//				.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
//		out.println("<HTML>");
//		out.println("  <HEAD><TITLE>A Servlet</TITLE></HEAD>");
//		out.println("  <BODY>");
//		out.print("    This is ");
//		out.print(this.getClass());
//		out.println(", using the GET method");
//		out.println("  </BODY>");
//		out.println("</HTML>");
//		out.flush();
//		out.close();
		generatorSheeter(response);
	}

	/**
	 * The doPost method of the servlet. <br>
	 * 
	 * This method is called when a form has its tag value method equals to
	 * post.
	 * 
	 * @param request
	 *            the request send by the client to the server
	 * @param response
	 *            the response send by the server to the client
	 * @throws ServletException
	 *             if an error occurred
	 * @throws IOException
	 *             if an error occurred
	 */
	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		response.setContentType("text/html");
		PrintWriter out = response.getWriter();
		out
				.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
		out.println("<HTML>");
		out.println("  <HEAD><TITLE>A Servlet</TITLE></HEAD>");
		out.println("  <BODY>");
		out.print("    This is ");
		out.print(this.getClass());
		out.println(", using the POST method");
		out.println("  </BODY>");
		out.println("</HTML>");
		out.flush();
		out.close();
	}

	/**
	 *往Excel中填充数据
	 */
	private void setCellDataJXL(WritableSheet sheet)
			throws RowsExceededException, WriteException {

		Label label = null;
		// 得到需要到处的数据。
		List<User> list = new ArrayList<User>();
		User user=new User();
		user.setUserName("zhangming");
		user.setSex("male");
		list.add(user);
		User user1=new User();
		user1.setUserName("zhangming1");
		user1.setSex("male");
		list.add(user1);
		User user2=new User();
		user2.setUserName("zhangming2");
		user2.setSex("male");
		list.add(user2);
		User user3=new User();
		user3.setUserName("zhangming3");
		user3.setSex("male");
		list.add(user3);
		
		

		for (int i = 0; i < list.size(); i++) {
			User bean = list.get(i);
			// 项目编号
			label = new Label(0, i + 1, bean.getUserName());
			sheet.addCell(label);
			// 项目名称
			label = new Label(1, i + 1, bean.getSex());
			sheet.addCell(label);
		}
	}

	/**
	 * 生成Excel表单
	 * 
	 * @throws IOException
	 */
	private void generatorSheeter(HttpServletResponse response)
			throws IOException {

		HttpServletResponse response_1 = response;
		// 设置响应头和保存文件名
		response_1.reset();
		response_1.setContentType("APPLICATION/OCTET-STREAM");
		response_1.setHeader("Content-Disposition", "attachment; filename=\""
				+ URLEncoder.encode("收件受理异常.xls", "UTF-8") + "\"");

		WritableWorkbook workbook = Workbook.createWorkbook(response_1
				.getOutputStream());
		WritableSheet sheet = workbook.createSheet("收件受理异常", 0);
		String[] title = { "用户名", "性别"};
		Label label = null;

		try { // 创建表头
			for (int i = 0; i < title.length; i++) {
				label = new Label(i, 0, title[i]);
				sheet.addCell(label);
			}
			this.setCellDataJXL(sheet);

		} catch (Exception e) {
			e.printStackTrace();
		}
		workbook.write();
		// 关闭对象,释放资源
		workbook.close();
		response_1.getOutputStream().flush();
		// //关闭对象,释放资源
		response_1.getOutputStream().close();
	}

	/**
	 * Initialization of the servlet. <br>
	 * 
	 * @throws ServletException
	 *             if an error occurs
	 */
	public void init() throws ServletException {
		// Put your code here
	}

}

class User implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private String userName;
	private String sex;

	public String getUserName() {
		return userName;
	}

	public void setUserName(String userName) {
		this.userName = userName;
	}

	public String getSex() {
		return sex;
	}

	public void setSex(String sex) {
		this.sex = sex;
	}

}
 

 

 

  • jxl.jar (475.4 KB)
  • 下载次数: 4
分享到:
评论

相关推荐

    js列表数据导出到excel表中

    本文详细介绍了如何使用 JavaScript 结合 Java 后端将列表数据导出到 Excel 表中。这种方法适用于需要在网页上实现数据导出功能的应用场景。需要注意的是,使用 ActiveX 对象的方法仅适用于 IE 浏览器,在现代浏览器...

    易语言超级列表框导出到Excel表格模块源码

    易语言超级列表框导出到Excel表格模块源码例程程序调用API函数实现超级列表框导出到Excel表格。易语言超级列表框导出到Excel表格模块源码使用HTML表格格式写出。资源作者:。资源界面:。资源下载:。

    C#大量数据导出到Excel自动分页导出

    C#大量数据导出到Excel,超过65536行时自动分页导出

    java 将数据导出到Excel中

    在Java开发中,将数据导出到Excel是一种常见的需求,特别是在数据分析、报表生成或数据交换等场景下。Excel因其易用性和丰富的格式设置能力,成为处理结构化数据的理想选择。本篇文章将深入探讨如何利用Java实现这一...

    易语言导出超级列表框数据到Excel源码

    在本资源中,我们关注的是如何使用易语言将超级列表框中的数据导出到Excel文件中。这个过程涉及到易语言的控件操作、数据处理以及与外部应用程序(如Microsoft Excel)的交互。 超级列表框是易语言提供的一种常见...

    Data From Keil to Excel (keil数据导出至excel)

    为了将这些数据导出到Excel,我们需要在KEIL中设置数据导出选项。通常,KEIL可以通过仿真器或调试器的内存查看器来查看和复制内存数据。在内存窗口中选择要导出的数据范围,然后通过复制(Ctrl+C)将数据粘贴到Excel...

    easyui+数据导出为Excel

    SheetJS提供了强大的API,允许我们在前端创建、修改和导出Excel文件。 以下是使用EasyUI和SheetJS实现数据导出的基本步骤: 1. 引入必要的资源:确保在HTML页面中引入EasyUI的CSS和JS文件,以及SheetJS的xlsx.full...

    将simulink示波器数据导出到excel表格教程

    在MATLAB Simulink环境中,将示波器数据导出到Excel表格是一项常见的需求,这有助于数据的存储、分析和进一步处理。以下是一份详细的步骤教程: 首先,我们需要准备一个Simulink模型,在模型中添加必要的组件。核心...

    easyui datagrid 数据导出到Excel

    在实际工作中,我们经常需要将这些展示的数据导出到Excel文件,以便进行进一步的分析或存储。下面将详细介绍两种有效的方法来实现EasyUI Datagrid数据导出到Excel的功能,并结合提供的文件名来推测具体实现步骤。 *...

    数据导出到Excel.html

    数据导出到Excel.html ,数据导出到Excel.html

    VB6 DataGrid中的数据导出到Excel

    VB6 DataGrid中的数据导出到Excel 本篇文章将详细介绍如何使用VB6将DataGridView中的数据导出到Excel文件中。下面将对标题、描述、标签和部分内容进行解释,并生成相关的知识点。 标题:VB6 DataGrid中的数据导出...

    C# 将数据导出到Excel汇总

    本文将基于给定的文件信息,深入探讨C#中将数据导出到Excel的几种方法,包括在ASP.NET环境中导出Excel的具体步骤。 #### ASP.NET中导出Excel的方法概览 在ASP.NET中导出数据到Excel主要分为两种基本策略:一是将...

    C#把数据列表、集合导出到Excel表格

    把数据列表、集合导出到Excel表格 应用例子:Excel.down(list.ToList(), "查询数据", "当日数据", "Id|Code,编码|name,名称,20|num,数量|CreatedTime,时间,18|cause,备注,60");

    delphi高效率导出数据到excel

    在这篇文章中,我们将介绍如何使用 Delphi 高效率地将数据导出到 Excel 中。 Delphi 中的 Excel 操作 在 Delphi 中,我们可以使用多种方式来操作 Excel,例如使用 OLE 自动化、ADO、DBGridEh 等。其中,使用 OLE ...

    如何将WinCC归档的历史数据导出到EXCEL CSV文件.zip

    有时,用户可能需要将这些历史数据导出到更通用的格式,如Excel CSV文件,以便进行进一步的数据分析和处理。下面,我们将详细介绍如何实现这个过程。 首先,理解WinCC的数据归档系统。WinCC的归档功能允许用户定义...

    将listcontrl控件里的数据导出到excel表格里

    在某些情况下,开发者可能需要将这些数据导出到Excel文件中,以便进行更复杂的分析或共享。标题提到的"将listcontrl控件里的数据导出到excel表格里"就是这样一个需求。 要实现这个功能,你需要遵循以下步骤: 1. *...

    C# 大数据量快速导出到 Excel方法

    9. **考虑使用其他库**:除了Interop,还有许多第三方库(如EPPlus、NPOI)提供更高效的数据导出,它们不依赖于Excel进程,适合大数据量操作。 在提供的`Demo`文件中,可能包含了实现以上优化策略的示例代码,你...

    C#把数据导出为Excel格式

    ### C#将数据导出为Excel格式的知识点详解 #### 一、导出到Excel的基本原理与步骤 在本示例中,我们主要探讨如何使用C#编程语言将数据导出为Excel格式。该示例提供了较为完整的实现过程,包括用户界面交互、Excel...

    keil数据导出至excel

    要将这些数据导出到Excel,我们通常需要以下步骤: 1. **导出内存数据**:在Keil μVision中,通过“Debug” -&gt; “Memory View”选项打开内存查看器。选择需要导出的数据段,例如全局变量或堆栈区域。然后右键点击...

    Java SE程序 把Jtable中的数据导出到Excel中

    Java SE程序 把Jtable中的数据导出到Excel中Java SE程序 把Jtable中的数据导出到Excel中Java SE程序 把Jtable中的数据导出到Excel中Java SE程序 把Jtable中的数据导出到Excel中Java SE程序 把Jtable中的数据导出到...

Global site tag (gtag.js) - Google Analytics