`
橄榄绿
  • 浏览: 277081 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Servlet 生成excel 并下载JXL方式

阅读更多

生成Excel并下载 JXL方式(去除html标签)

public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		OutputStream os = response.getOutputStream();// 取得输出流
		response.reset();// 清空输出流

		//不能用用中文设置 filename,会出错
		response.setHeader("Content-disposition", "attachment; filename=stu.xls");// 设定输出文件头
		response.setContentType("application/msexcel");// 定义输出类型

		List<SdProduct> list = new ArrayList<SdProduct>();// 这个是从数据库中取得要导出的数据
		SdProduct sdp = new SdProduct();
		sdp.setSdTitle("<div>供应瑞丽女装服装代理,原单,外贸日韩女裤打底裤<div>");
		sdp.setSdConName("周清香女士");
		sdp.setSdMobile("123456789");
		sdp.setSdTel("123456789");
		sdp.setSdComment("<div><div><palign='left'><imgalt='' src='http://www.gzlaike.com/word/laike01.jpg'style='VISIBILITY:visible'/></p><palign='left'><spanstyle='FONT-SIZE:xx-large'><spanstyle='COLOR:#ff0000'>秋冬季节不管是做内衣打底,还是外穿,与靴鞋是最佳搭配,莱可制衣的精心做工,精梳全棉密根面料,非常舒适贴身,弹性也很好,拉伸无&ldquo;漏网&rdquo;原批发价24元,现特价16元,市场上10元打底无法与之相提并论,请勿议价!!</span></span></p><div>【编号】T314</div><div>【质地】纯棉,有弹力</div><div>【颜色】黑色,紫色,灰色,蓝色,咖啡</div><div>【标牌】全新包装带吊牌领标水洗标</div><div>【尺码】均码</div><div>【重量】0.15KG</div><div>【尺寸参照】腰围:52-88CM全长:89CM手工平铺测量有弹力");
		list.add(sdp);
		try {
			// 使用WritableCellFormat
			// 的setWrap(true)可以设成自动换行,然后再用WritableSheet的setRowView设置行的高度,setColumnView设置列的宽度
			//WritableWorkbook wbook = Workbook.createWorkbook(new File(request.getRealPath(path)+ "\\" + fileName)); // 建立excel文件
			WritableWorkbook wbook = null;
			wbook = Workbook.createWorkbook(os);
			WritableSheet wsheet = wbook.createSheet("工作表名称", 0); // 工作表名称
			// 设置Excel字体
			WritableFont wfont = new WritableFont(WritableFont.ARIAL, 14,
					WritableFont.BOLD, false,
					jxl.format.UnderlineStyle.NO_UNDERLINE,
					jxl.format.Colour.RED);
			WritableFont font = new WritableFont(WritableFont.ARIAL, 12,
					WritableFont.BOLD, false,
					jxl.format.UnderlineStyle.NO_UNDERLINE,
					jxl.format.Colour.BLACK);
			WritableCellFormat nameFormat = new WritableCellFormat(wfont);
			WritableCellFormat titleFormat = new WritableCellFormat(font);
			String[] title = { "标 题", "联系人", "座 机", "手 机", "简 介" };
			// 设置Excel标题头
			wsheet.mergeCells(0, 0, 5, 0); // 合并单元格
			Label excelTitle1 = new Label(0, 0, "XXXXX:关键词—服装 的供应信息", nameFormat);
			wsheet.addCell(excelTitle1);

			// 设置Excel表头
			for (int i = 0; i < title.length; i++) {
				Label excelTitle = new Label(i, 1, title[i], titleFormat);
				wsheet.addCell(excelTitle);
			}
			int c = 2; // 用于循环时Excel的行号
			Iterator it = list.iterator();
			while (it.hasNext()) {
				SdProduct sd = (SdProduct) it.next();
				Label content1 = new Label(0, c, sd.getSdTitle().replaceAll(
						"<[^>]*>", ""));// 去掉HTML的所有标签
				Label content2 = new Label(1, c, sd.getSdConName());
				Label content3 = new Label(2, c, sd.getSdMobile());
				Label content4 = new Label(3, c, sd.getSdTel());
				String comment = sd.getSdComment().replaceAll("<[^>]*>", "");
				Label content5 = new Label(4, c, comment.replaceAll("&nbsp;",
						""));
				wsheet.setColumnView(0, 40);
				wsheet.setColumnView(1, 12);
				wsheet.setColumnView(2, 13);
				wsheet.setColumnView(3, 14);
				wsheet.setColumnView(4, 50);
				wsheet.addCell(content1);
				wsheet.addCell(content2);
				wsheet.addCell(content3);
				wsheet.addCell(content4);
				wsheet.addCell(content5);
				c++;
			}

			wbook.write(); // 写入文件
			wbook.close();
		} catch (Exception e) {
			e.printStackTrace();

		}

	}

 

分享到:
评论
2 楼 18335864773 2017-06-28  
还是用pageoffice生成excel把。生成excel后不用下载,直接可以在线查看,编辑,保存。
POI、JXL调用代码复杂、中文乱码,功能较弱,无法生成复杂格式的Word、PDF文档。PageOffice就不用担心乱码的问题了。并且调用代码分厂简单。
1 楼 wsdsgfuqiang 2011-05-04  
哈哈,您可以这样实现 中文名字:
response.setHeader("Content-Disposition", new String(("attachment; filename=" + filename).getBytes("GBK"), "ISO-8859-1"));

相关推荐

    jxl实现excel上传下载全部功能

    Excel下载涉及从服务器生成Excel文件并提供给客户端下载。主要步骤如下: 1. 根据需要从数据库或其他数据源获取数据。 2. 使用JXL的`Workbook.createWorkbook()`方法创建一个新的工作簿对象。 3. 创建一个`Sheet`...

    java使用jxl打印excel报表文件

    上述代码中,`doGet`方法创建了一个Servlet,当用户访问特定URL时,Servlet会生成一个Excel文件并作为HTTP响应的一部分返回,浏览器通常会提示用户下载。 值得注意的是,JXL库只支持Excel 97-2003格式(.xls),...

    java生成Excel及jar包和文件下载的几种方式

    在Java开发中,生成Excel...总的来说,Java生成Excel有多种库可以选择,如JXL和Apache POI,而文件打包和下载可以通过构建工具和Web服务端代码实现。理解这些技术对于提升Java开发中的数据处理和文件交互能力至关重要。

    用jxl操作excel实例

    Servlet会根据请求参数,利用JXL库生成Excel文件,并将其作为响应的附件返回给客户端,用户可以下载保存。 综上所述,这个实例展示了如何在Spring MVC环境中使用JXL库进行Excel操作,具体可能包括从数据库或其他...

    JSP_通过Servlet将excel数据导入SQL

    该 Servlet 将 Excel 文件上传到服务器,然后使用 excel.java 中的方法将数据读取出来,并将其导入到数据库中。 本资源详细介绍了如何使用 JSP 通过 Servlet 将 Excel 数据导入 SQL Server 数据库的步骤。

    JXL导出Excel数据表

    例如,用户请求一个导出接口后,服务器生成Excel文件,然后设置响应头并输出文件内容,用户就能在浏览器中看到下载提示。 下面是一个简单的示例,展示如何使用JXL库导出数据库数据到Excel: 1. 引入JXL库: 在...

    JAVA 无需JXL和POI用PageOffice自动生成Excel表格.pdf

    Java 生成Excel报表是常见的需求,特别是在Web应用中,开发者经常需要从数据库中提取数据并将其格式化为Excel文件提供给用户下载。在处理复杂的格式和动态生成报表时,传统的方法如使用JXL或Apache POI库可能会变得...

    java导入导出excel操作(jxl)

    导出excel业务流程: ---------------------------------------------------------- 1、用户点击按钮向服务器发送请求同时将页面数据一同发送到服务器端 2、服务器端接收请求和数据 3、经过servlet对接收到的数据...

    java之excel操作(jxl介绍).pdf

    在Web应用中,jxl API也可通过JSP和Servlet进行集成,实现对Excel数据表的动态生成和交互,这对于数据导出、报表生成等场景非常实用。由于jxl的功能相对简单,对于复杂的Excel操作可能不如Apache POI强大,但对于...

    struts2 poi,jxl向excel表中插入记录源代码

    7. **部署与运行**: 下载项目后,你需要将所有依赖的库(如Struts2、POI或JXL的jar文件)添加到项目的类路径中,然后将项目部署到支持Servlet容器(如Tomcat)的服务器上,根据提示修改Excel文件路径,即可运行程序...

    读写Excel jxl.jar 读xml (log4j 文件上传下载笔记).rar

    这篇文档将深入探讨Java中如何使用jxl.jar库进行Excel文件的读写操作,解析XML文件,以及关于log4j的日志记录系统和文件的上传下载笔记。在现代的IT环境中,这些技能对于数据处理、日志管理和系统交互至关重要。 ...

    JXL 文档说明API

    JXL API的版本V2.0提供了对Excel95、97、2000等格式文件的数据读取功能,能够读取Excel中的公式(对于97之后的版本),并且能够生成Excel数据表(格式为Excel97)。它还支持对字体、数字和日期的格式化,以及单元格...

    JXL API(java 操作EXCEL不错的东西)

    1. **不支持图表**: 当前版本不支持读取或生成Excel文件中的图表信息。 2. **公式生成限制**: 虽然可以读取公式,但无法生成新的公式,只能读取公式的计算结果。 **应用示例** 在Java中使用JXL API的基本流程如下...

    java导出excel文件并且下载到客户端(包括解决中文乱码).txt

    根据给定的部分代码片段,我们可以构建一个完整的Servlet方法,用于生成Excel文件并返回给客户端。下面是对给定代码片段的完善和解释: ```java protected ActionForward dcexcel(ActionMapping mapping, ...

    jxl预览和打印报表

    jxl库支持多种Excel特性,如单元格样式(字体、颜色、对齐方式等)、公式、图表、图片等,这使得它成为生成报表的理想选择。 在"jxl预览和打印报表"中,核心步骤如下: 1. **数据获取**:首先,我们需要从数据库中...

    js导出excel

    在本例中,我们将在客户端处理表格数据并生成Excel文件。 2. **JSP (JavaServer Pages)**:JSP是Java的一种动态网页技术,允许开发者在HTML中嵌入Java代码。在这里,我们的表格可能是由JSP生成的。 3. **Table元素...

    使用xls或xlsx模板(jxls语法)导出Excel并下载的Demo

    5. **下载处理**:在Web应用中,你可以创建一个Servlet或Controller来处理Excel的下载请求。设置合适的响应头,如Content-Type(application/vnd.ms-excel或application/vnd.openxmlformats-officedocument....

    uploadify+jxl导入导出代码备份 没有需要的jxl jar

    在描述中提到的"没有需要的jxl jar"可能是指在示例代码中并没有包含jxl的jar文件,因此在运行或复用代码时,你需要自行下载并添加jxl库到你的项目类路径中。 为了实现数据的导入导出,通常的步骤如下: 1. **文件...

    jxl的API-Excel文件操作.pdf

    在Web应用程序中,尤其是JSP和Servlet中,jxl API提供了处理Excel数据的强大功能,使得在非Windows环境下也能进行Excel数据表的处理。 jxl API的主要功能包括: 1. 读取Excel 95、97、2000等格式的文件中的数据。 2...

    jxl导入导出

    5. **文件下载**:当需要提供Excel文件下载时,可以创建一个Servlet或Controller,将Workbook对象转换为OutputStream,然后设置响应头,让用户浏览器触发文件下载。 压缩包中的"上传jar下载地址.txt"可能是提供这些...

Global site tag (gtag.js) - Google Analytics