- 浏览: 404610 次
- 性别:
- 来自: 南京
文章分类
最新评论
-
qiuqinjun:
你好,项目的文献能否打包学习下呢
java定时任务管理实现 -
panghaoyu:
实现一个智能提示功能需要ajax、数据库、jsp/php、算法 ...
使用jQuery Autocomplete(自动完成)插件 -
CommonAccount:
我的showModalDialog() 传对象参数,在子窗口用 ...
JS中showModalDialog (模态窗口)详细使用 -
wyfn18:
very good
使用jQuery Autocomplete(自动完成)插件 -
jiangqingtian:
xiexie
使用jQuery Autocomplete(自动完成)插件
Jxls操作excel的时候,数据里面同时有规则的List/Map数据,同时又有不规则的,零星组织的数据,在这里,统统可以用此方法解决,具体方法如下,包括完整的类文件,导出Excel的时候需要有一个模板,模板中的各项数据请使用EL表达式的方式${list.userName...}诸如此类方式即可写入值...
//#################start##################// public class JxlsResult extends StrutsResultSupport { /** * */ private static final long serialVersionUID = -9095565761135848980L; private String fileName; private String root; public JxlsResult() { super(); } public JxlsResult(String location) { super(location); } @SuppressWarnings("unchecked") protected void doExecute(String location, ActionInvocation invocation) throws Exception { HttpServletResponse response = (HttpServletResponse) invocation .getInvocationContext().get(StrutsStatics.HTTP_RESPONSE); ServletContext servletContext = (ServletContext) invocation .getInvocationContext().get(StrutsStatics.SERVLET_CONTEXT); InputStream template = new FileInputStream(servletContext .getRealPath(location)); Map beans = getBeans(invocation); String fileName = getFileName(); ByteArrayOutputStream out = new ByteArrayOutputStream(); Workbook workbook = new XLSTransformer().transformXLS(template, beans); workbook.write(out); byte[] result = out.toByteArray(); fileName = fileName == null ? invocation.getProxy().getActionName() : conditionalParse(fileName, invocation) + ".xls"; response.setContentType("application/vnd.ms-excel"); response.setContentLength(result.length); response.setHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\""); response.getOutputStream().write(result); } @SuppressWarnings("unchecked") private Map getBeans(ActionInvocation invocation) { Object rootObj = root == null ? invocation.getAction() : invocation .getStack().findValue(root); return new BeanMap(rootObj); } private String getFileName() { return new StringBuffer() .append(fileName == null ? "report" : fileName).append(".xls") .toString(); } public void setFileName(String fileName) { this.fileName = fileName; } public void setRoot(String root) { this.root = root; } } //#################end ##################//
以下为第二种方法 //#################start##################// /** * export Excel_2 * * @author Lgscofield */ @SuppressWarnings("unchecked") public void exportExcel() { try { listBuildLandOwnership = (List<BuildLandOwnershipVO>) ServletActionContext.getRequest() .getSession().getAttribute("listBuildLandOwnership"); BuildLandOwnershipVO blVO = (BuildLandOwnershipVO) ServletActionContext.getRequest() .getSession().getAttribute("blVO"); List<BuildLandOwnershipVO> header = new ArrayList<BuildLandOwnershipVO>(); if (blVO != null) { blVO.setHmj(blVO.getHmj() + ""); blVO.setGmj(blVO.getGmj() + ""); blVO.setHmj(blVO.getHmj() + ""); blVO.setNydHj(blVO.getNydHj() + ""); blVO.setNydHjg(blVO.getNydHjg() + ""); blVO.setNydHjj(blVO.getNydHjj() + ""); blVO.setMj01(blVO.getMj01() + ""); blVO.setMj01g(blVO.getMj01g() + ""); blVO.setMj01j(blVO.getMj01j() + ""); blVO.setMj02(blVO.getMj02() + ""); blVO.setMj02g(blVO.getMj02g() + ""); blVO.setMj02j(blVO.getMj02j() + ""); blVO.setMj03(blVO.getMj03() + ""); blVO.setMj03g(blVO.getMj03g() + ""); blVO.setMj03j(blVO.getMj03j() + ""); blVO.setMj04(blVO.getMj04() + ""); blVO.setMj04g(blVO.getMj04g() + ""); blVO.setMj04j(blVO.getMj04j() + ""); blVO.setQtNyd(blVO.getQtNyd() + ""); blVO.setQtNydg(blVO.getQtNydg() + ""); blVO.setQtNydj(blVO.getQtNydj() + ""); blVO.setJmjgkyd(blVO.getJmjgkyd() + ""); blVO.setJmjgkydg(blVO.getJmjgkydg() + ""); blVO.setJmjgkydj(blVO.getJmjgkydj() + ""); blVO.setJtyd(blVO.getJtyd() + ""); blVO.setJtydg(blVO.getJtydg() + ""); blVO.setJtydj(blVO.getJtydj() + ""); blVO.setSlyd(blVO.getSlyd() + ""); blVO.setSlydg(blVO.getSlydg() + ""); blVO.setSlydj(blVO.getSlydj() + ""); blVO.setJsdHj(blVO.getJsdHj() + ""); blVO.setJsdHjg(blVO.getJsdHjg() + ""); blVO.setJsdHjj(blVO.getJsdHjj() + ""); blVO.setWlytd(blVO.getWlytd() + ""); blVO.setWlytdg(blVO.getWlytdg() + ""); blVO.setWlytdj(blVO.getWlytdj() + ""); blVO.setQtWlytd(blVO.getQtWlytd() + ""); blVO.setQtWlytdg(blVO.getQtWlytdg() + ""); blVO.setQtWlytdj(blVO.getQtWlytdj() + ""); blVO.setWlyHj(blVO.getWlyHj() + ""); blVO.setWlyHjg(blVO.getWlyHjg() + ""); blVO.setWlyHjj(blVO.getWlyHjj() + ""); header.add(blVO); } if (listBuildLandOwnership != null) { String fileName = null; try { fileName = URLEncoder.encode("土地利用现状权属审核(分析)表.xls", "utf-8"); } catch (UnsupportedEncodingException e1) { e1.printStackTrace(); } Map beans = new HashMap(); beans.put("header", header); beans.put("listBuildLandOwnership", listBuildLandOwnership); ServletContext sc = (ServletContext) ActionContext.getContext().get( ServletActionContext.SERVLET_CONTEXT); String location = sc.getRealPath("/export/BloAnalysis.xls"); ServletActionContext.getResponse() .setContentType("text/vnd.ms-excel;charset=UTF-8"); ServletActionContext.getResponse().setHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\""); InputStream template = new FileInputStream(location); ByteArrayOutputStream out = new ByteArrayOutputStream(); Workbook workbook = new XLSTransformer().transformXLS(template, beans); workbook.write(out); byte[] result = out.toByteArray(); ServletActionContext.getResponse().setContentLength(result.length); ServletActionContext.getResponse().getOutputStream().write(result); } } catch (Exception e) { e.printStackTrace(); } } //##################end####################//
发表评论
-
Ajax Session Timeout处理
2014-07-01 09:57 9423对于session过期跳转的问题,很简单,就是一个过滤器,然 ... -
20非常有用的Java程序片段
2014-01-13 21:54 0下面是20个非常有用的Java程序片段,希望能对你有用。 ... -
20个非常有用的Java程序片段
2014-01-13 21:49 0下面是20个非常有用的Java程序片段,希望能对你有用。 ... -
Spring MVC实现一个控制器写多个方法
2014-01-15 21:12 2019Spring MVC的API: DispatcherSe ... -
使用Eclipse构建Maven的SpringMVC项目
2013-06-21 12:53 1186使用Eclipse构建Maven的SpringMVC项目 ... -
发送Email的实现
2013-06-20 14:37 0package com.huawei.common.emai ... -
dbcp连接操优化
2013-06-02 12:35 0在做struts2、spring网站时,在系统闲置一段时间后, ... -
spring的taskExecutor线程池实现邮件发送
2013-04-26 11:18 0由于项目里涉及到上万人邮件处理,需要用到线程池来提高处理速度 ... -
Java操作json的通用类
2013-04-18 11:05 8675提供一个Java中操作JSON格式的公共类: JS ... -
Java写的数据库连接池
2013-03-03 02:04 1407非常不错的手写的数据库连接池: import j ... -
一个非空校验的Java类
2012-11-28 21:41 0/* * 文件名:DataChecker.java * ... -
由12306.cn谈谈网站性能技术
2012-09-21 00:13 103312306.cn网站挂了,被 ... -
Hadoop(quick start)快速入门
2012-09-01 00:27 1611Hadoop(quick start)快速入门 ... -
api接口简明,比Apache Common File Upload速度快、稳定性高,无需任何第三方库的上传组建
2012-08-21 23:59 2333fastupload根据RFC 1867文档规范,编写的基于表 ... -
Struts2 json ajax动态显示列表
2012-08-08 00:51 3320关于在Struts2中结合json使用ajax进行动态无 ... -
类似google的分页技术
2012-08-06 09:48 1133仿Baidu,Google查询分页技术实现分析分页 ... -
jvm参数相关
2012-08-02 13:47 1173Eclipse文件夹下有个eclips ... -
定时任务
2012-07-14 13:55 0ScheduleIterator.java import ... -
java定时任务管理实现
2012-07-14 13:48 15326代码清单: ===================== ... -
java定时任务管理
2012-07-14 13:25 30409Quartz Scheduler,定时任务 ...
相关推荐
在这个项目案例中,开发者使用了jxls库的最新版本(jxls2),它是一个强大的工具,能够帮助程序员将Java集合和POJOs(Plain Old Java Objects)直接转换为Excel工作表。 jxls是一个开源的Java库,其主要功能是允许...
jxls(Java eXcel Library)是一个强大的库,它允许开发者使用Java模板语言来处理Excel文档,极大地简化了Excel数据的导入和导出操作。本篇文章将深入探讨jxls库,并通过官方示例,帮助你掌握如何高效地使用jxls导出...
在IT行业中,Excel导出是常见的数据处理任务,特别是在企业级应用中,用户往往需要将大量数据导出为Excel格式以便于分析、编辑或共享。本主题主要关注使用Apache POI和jxls库来实现这一功能,特别是针对不同版本的...
- **模板(Templates)**: jxls允许使用Excel作为模板,其中包含占位符和控制指令,这些元素在运行时会被数据填充或执行特定操作。 - **指令(Instructions)**: 如`jx:`开头的指令,用于控制数据流和转换。 - **数据...
在"使用xls或xlsx模板(jxls语法)导出Excel并下载的Demo"中,主要涉及以下知识点: 1. **Apache POI**: 这是Apache软件基金会的一个项目,提供了一组API,用于处理Microsoft Office格式的文件,包括Excel的xls和xlsx...
- **准备数据**:在Java代码中,我们需要准备要填充到模板中的数据集合,这些数据可以是List、Map或者其他Java集合类型。 - **渲染模板**:最后,调用jxls提供的API,将数据集合与模板结合,生成最终的Excel文件。 ...
JXLS,全称Java eXcel Library for Sheets,是一个基于Apache POI库的工具,它提供了一种直观的方式来操作Excel模板,将Java对象的数据绑定到模板的单元格中,从而生成定制化的Excel文件。这种方式使得开发者可以...
"jxls导出模板"是利用jxls库实现的一种高效、灵活的方式来处理和导出数据到Excel文件的方法。jxls是一个基于Java的库,它允许开发者使用Apache POI库来扩展XLS(X)模板,从而动态生成Excel文件。 jxls的核心概念是...
例如,你可以在单元格中写入`${users}" var="user">${user.name}</jx:each>`,这将在Excel中迭代`users`集合,为每个用户打印出其`name`属性。 `jxls-core1.0.3.jar`是`jxls`的核心组件,它包含了处理Excel模板、...
- jxls 使用`java.util.List`或`java.util.Map`等集合类作为数据源,结合注解,可以直接将数据映射到Excel单元格,实现了类似JSP的EL表达式功能。 6. **动态计算和逻辑** - 除了简单的数据填充,jxls还允许在模板...
- 应用Jxls API,使用`WorkbookProcessor`或`JxlsHelper`类将数据填充到模板中。 - 输出生成的Excel文件,或者直接在内存中操作。 4. **主要功能:** - **迭代处理:** `jx:each`标签可以遍历集合数据,将每个...
这个工具允许开发者将Java集合、Map或任何Java对象的数据动态地填充到Excel模板中,极大地简化了生成复杂Excel报告的过程。Jxls 提供了一种声明式的方式来定义如何在Java对象和Excel单元格之间映射数据,这使得它在...
6. **数据绑定**:在Struts2 Action中,你需要准备一个数据集(如List或Map),这将与Excel模板的占位符对应起来。Jxls会根据模板的结构自动填充数据。 7. **文件流处理**:在Struts2中,使用`response....
1. **创建模板**:在Excel中设计好数据模板,可以使用jxls的特定标记(如`@forEach`、`@if`)来定义动态行为。 2. **准备数据**:在Java代码中创建一个包含数据的对象列表或Map。 3. **处理数据**:使用`...
2. **数据准备**:在Java代码中,创建并填充需要展示在报表中的数据结构,如Java List或Map。 3. **配置映射**:定义数据对象和Excel模板单元格之间的映射关系。这通常通过XML配置文件或者使用注解来完成。 4. **...
总的来说,jxls为Java开发者提供了一个高效、灵活的方式来处理Excel数据,尤其在导入导出场景下,可以极大地提高开发效率并降低代码复杂性。掌握jxls的使用,对于提升Java项目中Excel处理的能力具有显著的效果。通过...
Jxls是一个Java库,用于将数据从Java集合或Excel模板转换为Excel工作簿。这个库在处理批量数据导入导出、报表生成等场景时非常有用。"jxls相关jar"的描述表明这是一个包含Jxls库特定版本的压缩包,虽然比官网提供的...
2. **设置数据源**:根据业务需求,准备一个Java集合(如List或Map),存储要填充到模板的数据。 3. **处理转换规则**:`jxls2`使用一种称为`jx:`的自定义标签,这些标签在模板中定义了数据填充规则。例如,`...
// Browser.execClientScript("window.location.href='../ExcelFile/downloadfile.jsp?filename=" // + destFile + "';"); } catch (Exception e) { e.printStackTrace(); } } public String ...