使用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;
}

时间: 2024-10-10 03:34:23

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

springMVC框架+POI组件导出Excel

目的:访问url(http://localhost:8080/POIOutputExcel/outputexcel.do)实现excel导出,效果图如下: 文件目录(配置文件就不多说了,跟前面的随笔一样一样的) User.java public class User { private Integer id; private String name; private Double cash; //此处省略getter/setter方法 } Datalist.java public class D

SpringMvc 使用poi导入导出Excel

controller <pre name="code" class="java"> @ResponseBody @RequestMapping(value = "/chxm/exportAndUpdate") public void exportAndUpdate(@RequestParam(value = "projectId") String projectId, @RequestParam(value = &

基于SSM的POI导入导出Excel实战第一篇-SSM框架的整合

业务背景:在JavaWeb应用开发中,经常需要将应用系统中某些业务数据导出到Excel中,又或者需要将这些业务数据先收集到Excel然后一键导入到系统 业务需求:如何用Java实现导入导出Excel 需求分析:目前流行的Java导入导出Excel的框架有POI跟JXL,这两者的优缺点在这里我就不作比较了,感兴趣的童鞋可以自行搜索了解一下; 技术选型:从本文开始,我将分享一下如何基于SSM框架+POI实现Java应用导入导出Excel,数据库采用mysql5.6,应用服务器采用tomcat7 工具

poi导入导出excel后记

续上一篇:在springmvc项目中使用poi导入导出excel http://blog.csdn.net/kingson_wu/article/details/38942967 一. 导入时,发现了不少问题,如果是导出excel之后,在里面不删除行,只是简单的修改一些数据的话,则不会出问题,但如果是删除了一些行,或者excel表不是导出的,而是另外的excel文件,里面有很多数据ctrl+a,ctrl+v生成的,那么导入的时候就会出问题,因为里面虽然看起来的数据就那么多,但是有一些数据痕迹.很

Springboot使用POI实现导出Excel文件示例

Springboot使用POI实现导出Excel文件示例 前面讲述了使用POI导出Word文件和读取Excel文件,这两个例子都相对简单,接下来要讲述的使用POI导出Excel文件要复杂得多,内容也会比较长.创建表头信息表头信息用于自动生成表头结构及排序public class ExcelHeader implements Comparable<ExcelHeader>{/**  * excel的标题名称  */private String title;/**  * 每一个标题的顺序  */p

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

     首先谈一下今天发生的一件开心的事,本着一颗android的心我被分配到了PB组,身在曹营心在汉啊!好吧,今天要记录和分享的是Java利用POI导入导出Excel中的数据.下面POI包的下载地址http://poi.apache.org/download.html,有兴趣的朋友也可以去看看其中的API.      下面分享一下在对POI进行基本操作时觉得需要注意的两点:       1.POI中针对xlsx/xls是需要create different Workbook instance

基于SSM的POI导入导出Excel实战第二篇-导出EXCEL

业务需求:这里我以产品信息为例,用于POI导入导出Excel实战的操作对象 需求分析:我们要导出的数据格式比较简单,其实就是待导出的表(视图)的数据,如下图所示: 实现思路:A.会发现待导出的数据列表是一个矩阵式的格式,即二维的形式 B.其中的头部id name unit price stock 等字段field是固定不变的,将会充当excel的头部 C.以数据行的角度观察数据列表,会发现每一行每一列的值都是B所指的那些字段一一对应的取值value D.由此可以得出这些数据组织是由每一行数据组成

基于SSM的POI导入导出Excel实战尾篇-其余功能实战(mvc三层开发模式体验)

业务需求:前几篇基本已经介绍完毕项目的核心功能,即POI导入导出Excel,为了整个项目的完整性,并让诸位童鞋体验体验企业级javaweb应用mvc三层模式的开发流程,本文将介绍一下项目的其余功能,包括搜索,新增,修改,删除 需求分析:作为程序员,在项目中经常接触的就是CRUD了,本篇博文将整合jquery-easyui框架(版本采用1.5.5.4)异步实现上述几个功能,给项目画上一个完整的句号!当然啦,在刚开始开发时,对于自己开发好的后端接口完全可以用Postman进行模拟(我就是这样做的),

【OpenHW12参赛手记】ZedBoard-自定义IP核实现+PS成功调用【详细步骤+流程介绍+源码】 转载

文章来源 图片无法复制,请看原文 http://www.eefocus.com/jefby1990/blog/13-03/291975_490bc.html [OpenHW12参赛手记]ZedBoard-自定义IP核实现+PS成功调用[详细步骤+流程介绍+源码] 2013-03-07 17:56:30 分享: (图片请点击查看原图) 软件环境:WIN7_64 + ISE 14.4 (system_edition) 硬件:Zedboard.USB-Cable线 搭建图: 经过前几天的学习,查看数据