XLSTransformer生成excel文件
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文件的更多相关文章
- XLSTransformer生成excel文件简单演示样例
项目结构图: 项目中所用到的jar,能够到http://www.findjar.com/index.x下载 ExcelUtil类源代码: package util; import java.io.IO ...
- XLSTransformer生成excel一个简单的演示示例文件
项目结构图: 在这些项目中使用jar.可以http://www.findjar.com/index.x下载 ExcelUtil类源代码: package util; import java.io.IO ...
- 如何生成excel文件作为图像识别结果
如何生成excel文件作为图像识别结果 在进行大规模图像处理的时候,如果能够以表格的形式生成结果文件,将非常的直观.这个时候,选择excel作为结果输出文件,将是合适的. 查询相关资料,有很多关于ex ...
- php生成excel文件的简单方法
生成excel文件,最简单的莫过于把数据库的数据导入到excel就行了. 生成excel 当然使用的是 phpExcel http://www.jbxue.com/tags/phpexcel.html ...
- thinkphp整合系列之phpexcel生成生成excel文件
在后台管理中会经常需要将数据生成excel表格的: php生成excel有两种方案: 一种是通过phpexcel生成xls格式的表格文件: 另一种则直接通过逗号换行生成csv格式的表格文件: 这里先讲 ...
- 实现excel导入导出功能,excel导入数据到页面中,页面数据导出生成excel文件
今天接到项目中的一个功能,要实现excel的导入,导出功能.这个看起来思路比较清楚,但是做起了就遇到了不少问题. 不过核心的问题,大家也不会遇到了.每个项目前台页面,以及数据填充方式都不一样,不过大多 ...
- springMVC(4)---生成excel文件并导出
springMVC(4)---生成excel文件并导出 在开发过程中,需要将数据库中的数据以excel表格的方式导出. 首先说明.我这里用的是Apache的POI项目,它是目前比较成熟的HSSF接口, ...
- 2018年,请不要再使用OLE生成EXCEL文件
输出EXCEL文件是ABAP开发工作中的常见需求,为了学习相关技术,我翻译过一篇文章:使用OLE2对象创建EXCEL文件,并且一度乐在其中. 最近几个月,经过与若干EXCEL打印程序的艰苦斗争,以及对 ...
- POI生成EXCEL文件
POI生成EXCEL文件 一.背景 根据指定格式的JSON文件生成对应的excel文件,需求如下 支持多sheet 支持单元格合并 支持插入图片 支持单元格样式可定制 需要 标题(title),表头( ...
随机推荐
- mac github工具将命令当下来的代码拖入macgithub中就可以
mac github工具将命令当下来的代码拖入macgithub中就可以,刚開始傻傻的就知道点击那个加入button,总是在当下来的文件夹下创建个文件夹.并且代码不能同步
- mysql中国的内容php网页乱码问题
1.更改mysql编码在数据库 character_set_server=utf8 init_connect='SET NAMES utf8' 加入这两行 2.又第一次启动mysql数据库 版权声明: ...
- zoj 3822 Domination(dp)
题目链接:zoj 3822 Domination 题目大意:给定一个N∗M的棋盘,每次任选一个位置放置一枚棋子,直到每行每列上都至少有一枚棋子,问放置棋子个数的期望. 解题思路:大白书上概率那一张有一 ...
- 关于Installshield里一些常见问题的解答—艾泽拉斯之海洋女神出品
原文:关于Installshield里一些常见问题的解答-艾泽拉斯之海洋女神出品 上一篇:一个完整的安装程序实例—艾泽拉斯之海洋女神出品(五) --补遗转载时请务必保留转载出处和由艾泽拉斯之海洋女神出 ...
- 【Android平台安全方案】の #00-请不要在外部存储(SD卡)加密存储的敏感信息
本文翻译自https://www.securecoding.cert.org/confluence/display/java/DRD00-J.+Do+not+store+sensitive+infor ...
- highchart几个图表马金摘要
1) Js的引入顺序不对,导致highchart的图表出不来. 由于Highchart插件中用到了jquery,jquery的js要在引入highchart的js之前引入,否则当会导致当载入high ...
- 1001 - Another A+B
1001 - Another A+B Description Give you an integer a, you are to find two another integers which sum ...
- centOS6 php 编 imap 模
php 编 c-client imap 客户.下载 http://www.washington.edu/imap/mirrors.html 第一步,编 c-client 官方文档说究竟有点坑,编译报错 ...
- 【转】android 欢迎界面翻页成效,仿微信第一次登陆介绍翻页界面
android 欢迎界面翻页效果,仿微信第一次登陆介绍翻页界面 本实例做的相对比较简单主要是对翻页控件的使用,有时候想要做一些功能是主要是先了解下是否有现成的控件可以使用,做起来比较简单不用费太大的劲 ...
- Oracle的SOME,ANY和ALL操作
平时很少用的这几个操作,今天遇到了.于是又看了一下文档. SOME和ANY一样,是比较宽松的,类似于OR.满足其中任何一个都可以. ALL要求严格一些,类似于AND,必须全部满足才可以. 不能单独使用 ...