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. Eclipse部署Web项目(图文讲解)

    讲解是在linux下完成的,但对windows系统,操作也是一样的,不要被吓到了 1.下载Eclipse

  2. java_tomcat_the_APR based Apache Tomcat 小喵咪死活启动报错_临时方案

    报错信息如下: 信息: The APR based Apache Tomcat Native library which allows optimal performance in productio ...

  3. (工具)source insight高速增加时间代码

    这篇文章是程序代码更改由其他用户. 不是原厂原装,例如下列总结,使用作为个人笔记. (1)打开projectbase.打开文件Utils.em,插入下面代码: //插入时间 macro MonthTo ...

  4. MySQL引擎的相关知识

    MySQL数 据库引擎取决于MySQL在安装的时候是如何被编译的.要添加一个新的引擎,就必须重新编译MYSQL.在缺省情况下,MYSQL支持三个引 擎:ISAM.MYISAM和HEAP.另外两种类型I ...

  5. archlinux的wiki非常强壮

    最近发现搜索linux工具或系统配置内容.来自同一个站点很多很好的资源:https://www.archlinux.org/,网站wiki(https://wiki.archlinux.org/)中有 ...

  6. s2sh三大框架整合过程(仅供参考)

    三大框架顾名思义就是非常有名的Struts2 ,Hibernate,Spring, 框架整合的方法很多,现在我写一个非常简单的整合过程,相信大家一看就会! 这里使用的struts-2.2.1.1.hi ...

  7. C#秘密武器之扩展方法

    原文:C#秘密武器之扩展方法 为何要用扩展方法? 作为一个.NET程序猿,我们经常要跟.net自带类库或者第三方dll类库打交道,有时候我们未必能够通过反编译来查看它们的代码,但是我们通常需要给它们扩 ...

  8. bat启动/停止oracle服务

    原文:bat启动/停止oracle服务 自己的电脑比较慢,尤其装了oracle10g后,服务开启和关闭用bat文件操作省事点 开启服务 @echo offnet start OracleService ...

  9. 【UVA】10285-Longest Run on a Snowboard(动态规划)

    这是一个简单的问题.你并不需要打印路径. 状态方程dp[i][j] = max(dp[i-1][j],dp[i][j-1],dp[i+1][j],dp[i][j+1]); 14003395 10285 ...

  10. PHP 16: MySql的数据库访问

    原文:PHP 16: MySql的数据库访问 本章介绍PHP访问MySql的方法.如果你对MySQL不是很清晰,可以参看PHP 17: MySQL的简单介绍.对于数据库的操作,无非就是以下几个点: 如 ...