@RequestMapping(value = "/result/export")
public String export(ResultIn in,HttpServletRequest request,
HttpServletResponse response) throws Exception {
ResultXls xls=resultService.getResultXls(in);
HSSFWorkbook wb = resultService.toExcel(xls);
response.setContentType("application/vnd.ms-excel;charset=UTF-8");
//response.setHeader("Content-disposition", "attachment;filename="+ "query" + ".xls");
response.setHeader("Content-Disposition", "attachment;filename=export.xls");
//response.setHeader( "Content-Disposition", "attachment;filename=" + new String( fileName.getBytes("gb2312"), "ISO8859-1" ) );
OutputStream ouputStream = response.getOutputStream();
wb.write(ouputStream);
ouputStream.flush();
ouputStream.close();
return null;
}

//提取excel文件需要的数据
@Transactional
public ResultXls getResultXls(ResultIn in) {
String json= this.find(in);
List<Map> dataList=GsonUtils.getList(json);
ResultXls o=new ResultXls();
o.setDataList(dataList);
List<SequencesPO> sequenceList = GsonUtils.gson.fromJson(in.getSequences(),
new TypeToken<List<SequencesPO>>() {
}.getType());
o.setSequencesList(sequenceList);
return o;
}

//转换为excel文件
@Transactional
public HSSFWorkbook toExcel(ResultXls xls ) {
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("Campaign");
HSSFRow row = sheet.createRow((int) 0);
HSSFCellStyle style = wb.createCellStyle();
style.setAlignment(HSSFCellStyle.ALIGN_CENTER);
List<Map> dataList=xls.getDataList();
List<SequencesPO> sequencesList=xls.getSequencesList();
//循环列标题
String colname="";
row.createCell(0).setCellValue("指标数据");
for (int i = 1; i <= sequencesList.size(); i++) {
colname=sequencesList.get(i).getDisplayName();//title中文
row.createCell(i).setCellValue(colname);
}
//循环行
String val="";
for (int i=0;i<dataList.size();i++){
Map map=dataList.get(i);
row = sheet.createRow(i + 1);
val=(String)map.get("sj");//第一列
row.createCell(0).setCellValue(val);
//循环列
for (int j=1;j<=sequencesList.size();j++){
val=(String)map.get("c"+j);
row.createCell(j).setCellValue(val);
}
}
return wb;
}

使用SpringMvc调用POI jar导出excel的源码的更多相关文章

  1. SpringMvc 使用poi导入导出Excel

    Util类 package com.common.util; public class ExportUtil { private XSSFWorkbook wb = null; private XSS ...

  2. springMVC框架+POI组件导出Excel

    目的:访问url(http://localhost:8080/POIOutputExcel/outputexcel.do)实现excel导出,效果图如下: 文件目录(配置文件就不多说了,跟前面的随笔一 ...

  3. Java利用POI导入导出Excel中的数据

         首先谈一下今天发生的一件开心的事,本着一颗android的心我被分配到了PB组,身在曹营心在汉啊!好吧,今天要记录和分享的是Java利用POI导入导出Excel中的数据.下面POI包的下载地 ...

  4. Matlab.NET混合编程技巧之——直接调用Matlab内置函数(附源码)

    原文:[原创]Matlab.NET混合编程技巧之--直接调用Matlab内置函数(附源码) 在我的上一篇文章[原创]Matlab.NET混编技巧之——找出Matlab内置函数中,已经大概的介绍了mat ...

  5. maven下载的jar包可以查看源码

    1:Maven命令下载源码和javadocs 当在IDE中使用Maven时如果想要看引用的jar包中类的源码和javadoc需要通过maven命令下载这些源码,然后再进行引入,通过mvn命令能够容易的 ...

  6. springMVC中使用POI方式导出excel至客户端、服务器实例

    Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能. 这里的方法支持导出excel至项目所在服务器,或导 ...

  7. Java POI导入导出Excel

    1.异常java.lang.NoClassDefFoundError: org/apache/poi/UnsupportedFileFormatException 解决方法: 使用的poi的相关jar ...

  8. POI通用导出Excel数据(包括样式设计)

    前言 前一段时间我写过通用的导入Excel,前几天也写了导出pdf格式的,还有我之前搞得导出Word,我在之前的博客也都介绍了导出和导入是一个道理,无非是一个获取一个是赋值.昨天有一位同仁看了我的Ex ...

  9. POI导入导出Excel(HSSF格式,User Model方式)

    1.POI说明 Apache POI是Apache软件基金会的开源代码库, POI提供对Microsoft Office格式档案读和写的功能. POI支持的格式: HSSF - 提供读写Microso ...

随机推荐

  1. 生成R文件

    aapt package -f -m -J H:/workspaces/java_android/Test2/gen -S H:/workspaces/java_android/Test2/res - ...

  2. CentOS x 64 MooseFS 学习

    一.MFS 简介.... MooseFS(Moose File System,mfs)是一种分布式文件系统,它将数据分布在网络中的 不同服务器上,支持FUSE,客户端可以作为一个 普通的Unix 文件 ...

  3. WebView点击图片看大图效果

    在webViewDelegate里面添加如下代码: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 - (voi ...

  4. Memcached源码分析之slabs.c

    #include "memcached.h" #include <sys/stat.h> #include <sys/socket.h> #include ...

  5. session cookie用法

    1.session(1)session存储在服务器的(2)session每个人存一份(3)session有默认的过期时间(4)session里面可以存储任意类型的数据安全,对服务造成压力用法:1.当一 ...

  6. C语言-switch语句

    switch (表达式的值) { case 1: 语句1 break; case 2: 语句2 break; case 3: 语句3 break; case 4: 语句4 break; ...... ...

  7. MongoDB升级教程

    1.排序 sort()方法:其中 1 为升序排列,而-1是用于降序排列. db.col.find({},{"title":1,_id:0}).sort({"likes&q ...

  8. Python科学计算之Pandas

    Reference: http://mp.weixin.qq.com/s?src=3&timestamp=1474979163&ver=1&signature=wnZn1UtW ...

  9. SVN:cannot map the project with svn provider解决办法

    转自:http://www.blogjava.net/jzone/articles/337697.html 首先,叙述一下令人蛋疼的情况,纠结了我几个小时,更新Workspace原有的项目,显示更新成 ...

  10. iOS 专题 之 界面开发 之 控件

    iOS 之 UIViewController iOS 之 Navagation Button iOS 之 UIButton iOS 之 UITextField iOS 之 UIStackView iO ...