使用SpringMvc调用POI jar导出excel的源码
@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的源码的更多相关文章
- SpringMvc 使用poi导入导出Excel
Util类 package com.common.util; public class ExportUtil { private XSSFWorkbook wb = null; private XSS ...
- springMVC框架+POI组件导出Excel
目的:访问url(http://localhost:8080/POIOutputExcel/outputexcel.do)实现excel导出,效果图如下: 文件目录(配置文件就不多说了,跟前面的随笔一 ...
- Java利用POI导入导出Excel中的数据
首先谈一下今天发生的一件开心的事,本着一颗android的心我被分配到了PB组,身在曹营心在汉啊!好吧,今天要记录和分享的是Java利用POI导入导出Excel中的数据.下面POI包的下载地 ...
- Matlab.NET混合编程技巧之——直接调用Matlab内置函数(附源码)
原文:[原创]Matlab.NET混合编程技巧之--直接调用Matlab内置函数(附源码) 在我的上一篇文章[原创]Matlab.NET混编技巧之——找出Matlab内置函数中,已经大概的介绍了mat ...
- maven下载的jar包可以查看源码
1:Maven命令下载源码和javadocs 当在IDE中使用Maven时如果想要看引用的jar包中类的源码和javadoc需要通过maven命令下载这些源码,然后再进行引入,通过mvn命令能够容易的 ...
- springMVC中使用POI方式导出excel至客户端、服务器实例
Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能. 这里的方法支持导出excel至项目所在服务器,或导 ...
- Java POI导入导出Excel
1.异常java.lang.NoClassDefFoundError: org/apache/poi/UnsupportedFileFormatException 解决方法: 使用的poi的相关jar ...
- POI通用导出Excel数据(包括样式设计)
前言 前一段时间我写过通用的导入Excel,前几天也写了导出pdf格式的,还有我之前搞得导出Word,我在之前的博客也都介绍了导出和导入是一个道理,无非是一个获取一个是赋值.昨天有一位同仁看了我的Ex ...
- POI导入导出Excel(HSSF格式,User Model方式)
1.POI说明 Apache POI是Apache软件基金会的开源代码库, POI提供对Microsoft Office格式档案读和写的功能. POI支持的格式: HSSF - 提供读写Microso ...
随机推荐
- Unity NGUI UIPanel下对粒子的剪裁
使用 unity 做游戏开发时,有时需要在scroll view下使用粒子,但粒子是不会被 UIPanel 所裁剪的,本人提供了脚本 ParticleSystemClipper,用来处理这种情况.思路 ...
- (中等) POJ 1084 Square Destroyer , DLX+可重复覆盖。
Description The left figure below shows a complete 3*3 grid made with 2*(3*4) (=24) matchsticks. The ...
- ZOJ 3933 Team Formation
费用流裸题......比赛的时候少写了一句话....导致增加了很多无用的边一直在TLE #include<cstdio> #include<cstring> #include& ...
- 改变Button文字和图片的位置
button.imageEdgeInsets = UIEdgeInsetsMake(0, labelWidth, 0, -labelWidth);button.titleEdgeInsets = UI ...
- iOS设置状态栏的字体颜色
设置statusBar的[前景色部分] 1.plist设置statusBar 在plist里增加一行 UIStatusBarStyle(或者是“Status bar style”也可以),这里可以设置 ...
- 冯如杯day1
day1 今天尝试配置了seetaface工程 主要按照这个网址中提示的步骤配置seetaface 第一步安装并配置OpenCV 按照这个网址进行配置,结果遇到了这样的错误 无法启动此程序,因为计算机 ...
- 在Android studio环境下使用EventBus
EventBus是一个订阅/发布消息总线,实现在应用程序里面,组件之间,线程之间的通信.因为event是任意的类型,所以这个使用起来非常方便. eventbus中的角色: event:当然就是事件啦 ...
- iOS开发——绘图电池按百分比显示
1.在DrawLine.h文件中提供了一个改变电池电量数值的接口 // // DrawLine.h // Demo-draw2 // // Created by yyt on 16/5/11. ...
- spring DateUtils
/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreem ...
- 485. 找出二进制串中连续的1的个数 Max Consecutive Ones
Given a binary array, find the maximum number of consecutive 1s in this array. Example 1: Input: [1, ...