`
yuhen78
  • 浏览: 14698 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

servlet Excel 导出

阅读更多

 

servlet生成Excel格式的数据:首先导入jxl.jar包。

在servlet中处理:

public void doPost(HttpServletRequrequest, HttpServletResponse response) 
	            throws ServletException, IOException {
        List  theDataList = new ArrayList();
        response.setContentType("text/html");
        response.addHeader("Content-Disposition", "inline; filename="名称".xls");
        JxlExcelWriter jxlExcelWriter = new JxlExcelWriter();
        //封装数据
     Object [] data = {temap.get("标题1内容"),temap.get("标题2内容"),temap.get("标题3内容"),temap.get("标题4内容"),temap.get("标题5内容"),temap.get("标题6内容")};
        theDataList.add(data); //数据对象添加到List对象中
     String[] theFirstCells = { "标题1", "标题2","标题3", "标题4", "标题5", "标题6"};
        jxlExcelWriter.writerExcel(out, theDataList, theFirstCells);
        out.flush();
        out.close();
   }


jxlExcelWriter类:

import java.io.File;
import java.io.IOException;
import java.io.OutputStream;
import java.util.List;
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 JxlExcelWriter {

	public void writerExcel(OutputStream out, List list, String[] title) throws IOException {
		if (list == null)
			throw new IllegalArgumentException("写excel流需要List参数!!!");

		try {
			WritableWorkbook workbook = Workbook.createWorkbook(out);
			WritableSheet ws = workbook.createSheet("sheet1", 0);
			int rowNum = 0;
			if (title != null) {
				putRow(ws, 0, title);
				rowNum = 1;
			}
			for (int i = 0; i < list.size(); i++, rowNum++) {
				Object[] cells = (Object[]) list.get(i);
				putRow(ws, rowNum, cells);
			}

			workbook.write();
			workbook.close();
		} catch (IOException e) {
			System.out.println("jxl write file exception, cause by" + e.getMessage());
		} catch (RowsExceededException e) {
			System.out.println("RowsExceededException, cause by" + e.getMessage());
		} catch (WriteException e) {
			System.out.println("writeException,cause by" + e.getMessage());
		}
	}

	private void putRow(WritableSheet ws, int rowNum, Object[] cells) throws RowsExceededException, WriteException {
		for (int j = 0; j < cells.length; j++) {
			Label cell = new Label(j, rowNum, "" + cells[j]);
			ws.addCell(cell);

		}
	}

	/**
	 * 将二维数组的数据写到excel
	 * @author cyb
	 * @throws WriteException 
	 * @throws RowsExceededException */
	public void writeToExcel(File theFile, List theDataList, String[] title) throws RowsExceededException, WriteException {
		WritableWorkbook theExcelFileWorkbook;
		try {
			theExcelFileWorkbook = Workbook.createWorkbook(theFile);
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			System.out.println("创建excel异常!!");
			return;
		}
		WritableSheet theExcelFileSheet = theExcelFileWorkbook.createSheet("sheet1", 0);
		int rowNum = 0;
		if (title != null) {
			putRow(theExcelFileSheet, 0, title);
			rowNum = 1;
		}
		for (int i = 0; i < theDataList.size(); i++, rowNum++) {
			Object[] cells = (Object[]) theDataList.get(i);
			try {
				putRow(theExcelFileSheet, rowNum, cells);
			} catch (RowsExceededException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
				System.out.println("超出excel的最大行数!!");
			} catch (WriteException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
				System.out.println("写入excel异常!!");
				return;
			}
		}

		try {
			theExcelFileWorkbook.write();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		try {
			theExcelFileWorkbook.close();
		} catch (WriteException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}

 

 

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

相关推荐

    servlet导入导出excel

    在这个场景中,我们讨论的是如何使用Servlet和JSP(JavaServer Pages)来处理Excel文件的导入和导出,尤其是与MySQL数据库的交互。Excel文件有两种主要格式:XLS(Excel 97-2003工作簿)和XLSX(Excel 2007及以后...

    JSP SERVLET 导出数据库内容到EXCEL

    总结来说,"JSP SERVLET 导出数据库内容到EXCEL"是一个典型的Java Web应用场景,结合了JSP的视图呈现、Servlet的业务处理和数据库操作,以及第三方库Apache POI的文件生成能力,为企业级应用提供了强大的数据导出...

    servlet+api导出excel

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

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

    在Excel导入导出过程中,Servlet将处理JSP提交的文件上传请求,读取Excel数据,并将数据保存到数据库或生成新的Excel文件。 Apache POI是Apache软件基金会的一个开源项目,专门用于读写Microsoft Office格式的文件...

    POI导出Excel文件

    这个实例提供了两种方法来导出Excel文件:通过Servlet和通过main方法。这两种方法都是在Java环境中操作Excel数据的有效方式。 首先,让我们详细了解一下Apache POI库。POI提供了一个API,允许开发者在Java应用程序...

    java简单的Excel导出功能

    在Java编程环境中,实现Excel导出功能是一项常见的需求,尤其在数据处理和报表生成时。以下将详细讲解如何使用Java实现简单的Excel导出功能。 首先,我们需要了解的是Java中用于处理Excel文件的主要库:Apache POI...

    excel导出的js

    标题中的"excel导出的js"指的就是使用JavaScript库或方法来生成Excel文件。JavaScript是一种运行在客户端和服务器端的脚本语言,由于其强大的DOM操作能力和动态特性,常用于网页交互和前后端数据处理。对于Excel导出...

    excel导出的jar

    `servlet-api.jar`是Java Servlet API的库文件,这表明这个项目可能是在服务器环境中运行,通过Servlet技术接收请求并返回Excel导出的结果。Servlet是Java Web开发中的基础组件,用于处理HTTP请求,并可以将处理结果...

    Excel 导出 struts2 spring hibernate

    在Excel导出场景下,Action类将执行导出逻辑,并通过结果配置将生成的Excel文件返回给浏览器。 2. **Spring**:Spring可以作为依赖管理容器,将Struts2的Action与服务层(Service)组件进行依赖注入。同时,Spring...

    J2EE项目开发Excel导出

    在J2EE项目开发中,Excel导出是一项常见的需求,特别是在数据管理和报告生成场景中,如资产管理、财务报表等。这个描述提及的示例提供了一个完整的解决方案,包括所需的Java类和依赖库(Jar包),帮助开发者实现从...

    学生管理系统-数据挖掘,jsp+servlet,文件上传下载,数据库导入导出,excel导入导出。.zip

    总结来说,这个学生管理系统是一个综合运用了Java Web技术,包括jsp、servlet和MySQL数据库的项目,具备数据挖掘、文件上传下载、数据库及Excel数据的导入导出等功能。对于学习Java Web开发或进行毕业设计的学生而言...

    servlet导出文件

    在本文中,我们将深入探讨如何使用Servlet来实现文件导出的功能。这个话题对于任何需要与用户交互并提供文件下载服务的Web应用都是至关重要的。 首先,理解Servlet的工作原理至关重要。Servlet是一个Java类,它扩展...

    excel表导入数据库 数据库导出excel(idea平台)

    在这个主题中,我们将深入探讨如何使用Java技术栈,特别是基于IDEA开发环境,来实现在JSP和Servlet中进行Excel与数据库之间的数据导入和导出。 首先,我们需要了解Java中用于处理Excel文件的库,如Apache POI。...

    struts2+poi 实现Excel导出

    在"Struts2+POI实现Excel导出"的场景中,开发者可以利用这两个工具为用户提供数据导出到Excel的功能。以下是一些关键知识点: 1. **Struts2框架**:Struts2是Action Servlet的一种实现,它是基于拦截器的MVC框架,...

    Echarts导出图片到Excel中

    使用Echarts通过Servlet导出图片,并将图片保存到Excel中

    java导出excel(写入到excel后再下载)示例

    2. **Web环境下的Excel导出与下载**: 在Web环境中,我们需要考虑HTTP响应和浏览器交互。在Servlet或Spring MVC等框架中,你可以创建一个HTTP响应,设置合适的MIME类型(如"application/vnd.ms-excel"),然后将...

    jsp页面导出excel

    在后端Java代码中,你需要创建一个Servlet或者Controller来处理导出请求。首先,创建一个`HSSFWorkbook`对象表示Excel工作簿,然后添加`HSSFSheet`作为工作表,并填充数据到`HSSFRow`和`HSSFCell`中。以下是一个...

    excel文件的导入和导出

    综上所述,这个压缩包提供了一个基础的文件上传示例,结合前端的AJAX和后端的Servlet,可以实现Excel文件的导入和导出功能。在实际项目中,可以根据需求进行扩展,如增加错误处理、进度显示、多文件上传等功能,提高...

    java导出excel复杂表头

    在Java开发中,导出Excel是一项常见的需求,尤其在数据报表和数据分析场景中。本示例涉及的主题是“java导出excel复杂表头”,这意味着我们要处理的不是简单的单级表头,而是包含多级或者多层次结构的表头。在描述中...

    POI导出EXCEL的示例

    在Servlet环境下,你可以将生成的Excel文件作为HTTP响应的附件发送给客户端。首先创建`HttpServletResponse`对象,然后设置响应头信息,如Content-Disposition和Content-Type,最后将工作簿写入输出流: ```java ...

Global site tag (gtag.js) - Google Analytics