jxls的使用方法:

1)声明一个XLSTransformer对象,生成方式就是使用new操作符

                XLSTransformer transformer = new XLSTransformer();

2)得到Template的FIle:

                 String xlsTemplateFileName = this.getClass().getClassLoader().getResource("template.xls");

3)利用XLSTransformer的类的方法生成Excel文件

                  String xlsFileName = "D:"+File.separator+"resule.xls";

                  Map map= new HashMap();

                  map .put("news1","news1 ");

                  map .put("news2","news2");

                  transformer.transformXLS(xlsTemplateFileName , map, xlsFileName);

XLSTransformer类的transformXLS方法的定义如下:

                  public void transformXLS(String srcFilePath, Map  map , String destFilePath) throws ParsePropertyException,

IOException其中:srcFilePath:是Template文件的全文件名(包含路径)

                  map :需要传入Excel里面的一个Map,jxls根据Template里面的定义和Map里面的对象对Template进行解析,

将Map里面的对象值填入到Excel文件中

                  destFilePath:需要生成的Excel文件的全文件名(包含路径)

Struts.xml配置

<action name="reportTest" method="reportTest"
class="org.bkgd.tpmis.report.web.action.T">
<result type="stream">
<param name="contentType">application/octet-stream</param>
<param name="inputName">inputStream</param>
<param name="contentDisposition">attachment;filename="reportTest.xls"</param>
<param name="bufferSize">4096</param>
</result>
</action>

java代码

public class T {

	private InputStream inputStream;

	public String reportTest() {
try {
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
Map<String, Object> m1 = new HashMap<String,Object>();
m1.put("PRONAME", "项目1");
m1.put("PLANTYPE", "计划1");
m1.put("PROTYPE", "类别1");
Map<String, Object> m2 = new HashMap<String,Object>();
m2.put("PRONAME", "项目2");
m2.put("PLANTYPE", "计划2");
m2.put("PROTYPE", "类别2"); list.add(m1);
list.add(m2); //------------------------开始报表
Map<String, Object> para = new HashMap<String, Object>();
para.put("result", list);
XLSTransformer transformer = new XLSTransformer();
Workbook wb;
try {
//模板路径
String classPath = this.getClass().getClassLoader().getResource("report/resource/reportTest.xls").getPath();
//真实导出路径
String classPath2 = this.getClass().getClassLoader().getResource("report/temp/reportTest.xls").getPath();
transformer.transformXLS(classPath, para,classPath2); //在classPath2下生成excel文件
inputStream = new FileInputStream(new File(classPath2));
wb = transformer.transformXLS(new FileInputStream(classPath),para); //获得Workbook对象 wb.write(new FileOutputStream(classPath2)); //导出Excel
} catch (Exception e) {
throw new ReportException(e);
}
} catch (Exception e) {
e.printStackTrace();
}
return "success";
} public InputStream getInputStream() {
return inputStream;
} public void setInputStream(InputStream inputStream) {
this.inputStream = inputStream;
}
}

reportTest.xls文件格式

XLSTransformer生成excel文件的更多相关文章

  1. XLSTransformer生成excel文件简单演示样例

    项目结构图: 项目中所用到的jar,能够到http://www.findjar.com/index.x下载 ExcelUtil类源代码: package util; import java.io.IO ...

  2. XLSTransformer生成excel一个简单的演示示例文件

    项目结构图: 在这些项目中使用jar.可以http://www.findjar.com/index.x下载 ExcelUtil类源代码: package util; import java.io.IO ...

  3. 如何生成excel文件作为图像识别结果

    如何生成excel文件作为图像识别结果 在进行大规模图像处理的时候,如果能够以表格的形式生成结果文件,将非常的直观.这个时候,选择excel作为结果输出文件,将是合适的. 查询相关资料,有很多关于ex ...

  4. php生成excel文件的简单方法

    生成excel文件,最简单的莫过于把数据库的数据导入到excel就行了. 生成excel 当然使用的是 phpExcel http://www.jbxue.com/tags/phpexcel.html ...

  5. thinkphp整合系列之phpexcel生成生成excel文件

    在后台管理中会经常需要将数据生成excel表格的: php生成excel有两种方案: 一种是通过phpexcel生成xls格式的表格文件: 另一种则直接通过逗号换行生成csv格式的表格文件: 这里先讲 ...

  6. 实现excel导入导出功能,excel导入数据到页面中,页面数据导出生成excel文件

    今天接到项目中的一个功能,要实现excel的导入,导出功能.这个看起来思路比较清楚,但是做起了就遇到了不少问题. 不过核心的问题,大家也不会遇到了.每个项目前台页面,以及数据填充方式都不一样,不过大多 ...

  7. springMVC(4)---生成excel文件并导出

    springMVC(4)---生成excel文件并导出 在开发过程中,需要将数据库中的数据以excel表格的方式导出. 首先说明.我这里用的是Apache的POI项目,它是目前比较成熟的HSSF接口, ...

  8. 2018年,请不要再使用OLE生成EXCEL文件

    输出EXCEL文件是ABAP开发工作中的常见需求,为了学习相关技术,我翻译过一篇文章:使用OLE2对象创建EXCEL文件,并且一度乐在其中. 最近几个月,经过与若干EXCEL打印程序的艰苦斗争,以及对 ...

  9. POI生成EXCEL文件

    POI生成EXCEL文件 一.背景 根据指定格式的JSON文件生成对应的excel文件,需求如下 支持多sheet 支持单元格合并 支持插入图片 支持单元格样式可定制 需要 标题(title),表头( ...

随机推荐

  1. Scrapy研究和探索(七)——如何防止被ban大集合策略

    说来设置的尝试download_delay少于1,不管对方是什么,以防止ban策略后.我终于成功ban该. 大约scrapy利用能看到以前的文章: http://blog.csdn.net/u0121 ...

  2. 使用Socket通信实现Silverlight客户端实时数据的获取(模拟GPS数据,地图实时位置)

    原文:使用Socket通信实现Silverlight客户端实时数据的获取(模拟GPS数据,地图实时位置) 在上一篇中说到了Silverlight下的Socket通信,在最后的时候说到本篇将会结合地图. ...

  3. (转)iOS项目的目录结构和开发流程

    网上相关的资源不多,开源的且质量还不错的iOS项目也是少之又少,最近正好跟同事合作了一个iOS项目,来说说自己的一些想法. 目录结构 AppDelegate Models Macro General ...

  4. ApacheBench(ab)使用简介

    网站性能压力测试是服务器网站性能调优过程中必不可缺少的一环.只有让服务器处在高压情况下,才能真正体现出软件.硬件等各种设置不当所暴露出的问题. 性能测试工具目前最常见的有以下几种:ab.http_lo ...

  5. DB2数据类型

    DB2数据库的内置数据类型主要分成数值型(numeric).字符串型(character string).图形字符串(graphic string).二进制字符串型(binary string)或日期 ...

  6. 关于Installshield里一些常见问题的解答—艾泽拉斯之海洋女神出品

    原文:关于Installshield里一些常见问题的解答-艾泽拉斯之海洋女神出品 上一篇:一个完整的安装程序实例—艾泽拉斯之海洋女神出品(五) --补遗转载时请务必保留转载出处和由艾泽拉斯之海洋女神出 ...

  7. [译]Java 设计模式之适配器

    (文章翻译自Java Design Pattern: Adapter) 适配器模式在现在的Java框架中被频繁的用到. 当你想去使用一个存在的类而且它的接口和你需要的不吻合,或者是你想去创建一个可复用 ...

  8. 实例学习SSIS(四)--使用日志记录和错误流重定向

    原文:实例学习SSIS(四)--使用日志记录和错误流重定向 导读: 实例学习SSIS(一)--制作一个简单的ETL包 实例学习SSIS(二)--使用迭代 实例学习SSIS(三)--使用包配置 实例学习 ...

  9. Repository 仓储

    Repository 仓储 写在前面 首先,本篇博文主要包含两个主题: 领域服务中使用仓储 SELECT 某某某(有点晕?请看下面.) 上一篇:Repository 仓储,你的归宿究竟在哪?(二)-这 ...

  10. WebService使用DataSetSurrogate压缩Dataset的序列化和解压反序列化传输 (转)

    转自:http://blog.163.com/hehong0925@126/blog/static/1339333372012102242920521/ 在WebService中将dataset序列化 ...