js:

 function initBatchExport(url,sub_key,current_sub_num){
var btn_id="#btn_char"+current_sub_num;
if(Number(current_sub_num)==){
btn_id="#btn_char";
}
// 查询条件
//var paramObj=new Object();
//var result_Data ={};
month_value=$("#month_value").val();
dim_key = sub_key;
type = "量";
var exportUrl=basePath+'/amount/initBatchExport.do?month_value='+month_value+'&dim_key='+dim_key+'&type='+type+'&current_sub_num='+current_sub_num;
for (var i = ; i <=Number(current_sub_num); i++) {
var parent_key = "parent_dim_"+(i);
exportUrl+='&'+parent_key+'='+$("#"+parent_key).val();
}
$(btn_id).on("click",function(){ // var excelurl ="<%=basePath%>/hfx/unwantExport.action?impId="+impId; location.href=exportUrl;
});
}

controller:

 @RequestMapping(value = "/initBatchExport", method = {RequestMethod.GET,RequestMethod.POST})
@ResponseBody
public void initBatchExport(Locale locale, Model model,HttpServletRequest request,HttpServletResponse response){
ResultMap data =ResultMap.defaultResultMap(); //new HashMap<String,Object>();
//Map<String,String> param = RequestUtils.getParamsMap(request);
Map<String,String> param =new HashMap<String,String>();
Map map = request.getParameterMap();
String current_sub_num = request.getParameter("current_sub_num");
String month_value = request.getParameter("month_value");
String dim_key = request.getParameter("dim_key");
String type = request.getParameter("type");
for (int i = ; i <=Integer.parseInt(current_sub_num); i++) {
String parent_key = "parent_dim_"+(i);
param.put(parent_key, request.getParameter(parent_key));
}
param.put("current_sub_num", current_sub_num);
param.put("month_value", month_value);
param.put("dim_key", dim_key);
param.put("type", type);
//需导出的数据
List<ZdResult8BrandD> list = amonutService.initJqGrid(param);
//初始化导出Excel
// 第一步,创建一个webbook,对应一个Excel文件
HSSFWorkbook wb = new HSSFWorkbook();
// 第二步,在webbook中添加一个sheet,对应Excel文件中的sheet
HSSFSheet sheet = wb.createSheet("Sheet1");
// 第三步,在sheet中添加表头第0行,注意老版本poi对Excel的行数列数有限制short
HSSFRow row = sheet.createRow();
// 第四步,创建单元格,并设置值表头 设置表头居中
HSSFCellStyle style = wb.createCellStyle();
style.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 创建一个居中格式 HSSFCell cell = row.createCell();
//'账期', '地市', '品牌','机型', '价格段', '客户','分类客户', 'subtype','value'
cell.setCellValue("账期");
cell.setCellStyle(style);
cell = row.createCell();
cell.setCellValue("地市");
cell.setCellStyle(style);
cell = row.createCell();
cell.setCellValue("品牌");
cell.setCellStyle(style);
cell = row.createCell();
cell.setCellValue("机型");
cell.setCellStyle(style);
cell = row.createCell();
cell.setCellValue("价格段");
cell.setCellStyle(style);
cell = row.createCell();
cell.setCellValue("客户");
cell.setCellStyle(style);
cell = row.createCell();
cell.setCellValue("分类客户");
cell.setCellStyle(style);
cell = row.createCell();
cell.setCellValue("子类");
cell.setCellStyle(style);
cell = row.createCell();
cell.setCellValue("值");
cell.setCellStyle(style); // 第五步,写入实体数据
for (int i = ; i < list.size(); i++){
row = sheet.createRow(i + );
ZdResult8BrandD zdResult = list.get(i);
// 第四步,创建单元格,并设置值
row.createCell().setCellValue(zdResult.getStatDay());
row.createCell().setCellValue(zdResult.getAreaName());
row.createCell().setCellValue(zdResult.getBrandName());
row.createCell().setCellValue(zdResult.getSpec());
row.createCell().setCellValue(zdResult.getPriceRange());
row.createCell().setCellValue(zdResult.getCustName());
row.createCell().setCellValue(zdResult.getCustStage());
row.createCell().setCellValue(zdResult.getSubType());
row.createCell().setCellValue(zdResult.getValue());
// cell = row.createCell(3);
// cell.setCellValue(new SimpleDateFormat("yyyy-MM-dd").format(stu.getTime()));
} //第六步,输出Excel文件
try {
OutputStream output=response.getOutputStream();
response.reset();
SimpleDateFormat df = new SimpleDateFormat("yyyy_MM_dd HHmmss");//设置日期格式
String fileName = dim_key+df.format(new Date());// new Date()为获取当前系统时间
response.setHeader("Content-disposition", "attachment; filename="+fileName+".xls");
response.setContentType("application/msexcel"); wb.write(output);
output.flush();
} catch (IOException e) {
e.printStackTrace();
} //return resultMap;
}

poi 导出Excel java代码的更多相关文章

  1. Java POI 导出EXCEL经典实现 Java导出Excel

    转自http://blog.csdn.net/evangel_z/article/details/7332535 在web开发中,有一个经典的功能,就是数据的导入导出.特别是数据的导出,在生产管理或者 ...

  2. 重构:以Java POI 导出EXCEL为例

    重构 开头先抛出几个问题吧,这几个问题也是<重构:改善既有代码的设计>这本书第2章的问题. 什么是重构? 为什么要重构? 什么时候要重构? 接下来就从这几个问题出发,通过这几个问题来系统的 ...

  3. 重构:以Java POI 导出EXCEL为例2

    前言 上一篇博文已经将一些对象抽象成成员变量以及将一些代码块提炼成函数.这一节将会继续重构原有的代码,将一些函数抽象成类,增加成员变量,将传入的参数合成类等等. 上一篇博文地址:http://www. ...

  4. Java之POI导出Excel(一):单sheet

    相信在大部分的web项目中都会有导出导入Excel的需求,今天我们就来看看如何用Java代码去实现 用POI导出Excel表格. 一.pom引用 pom文件中,添加以下依赖 查看代码  <!-- ...

  5. java中使用poi导出excel表格数据并且可以手动修改导出路径

    在我们开发项目中,很多时候会提出这样的需求:将前端的某某数据以excel表格导出,今天就给大家写一个简单的模板. 这里我们选择使用poi导出excel: 第一步:导入需要的jar包到 lib 文件夹下

  6. java解决poi导出excel文字水印,导出excel不可操作问题

    首先需求是用户提出导出excel数据需使用水印备注其用途: 其实就是在导出excel的同时带有自定义文字水印的导出. 那么我们首先想到的肯定是以一个什么样的思路去解决该问题,首先查找poi导出exce ...

  7. POI导出EXCEL经典实现

    1.Apache POI简介 Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程式对Microsoft Office格式档案读和写的功能. .NET的开发人员则 ...

  8. 关于poi导出excel三种方式HSSFWorkbook,SXSSFWorkbook,csv的总结

    poi导出excel最常用的是第一种方式HSSFWorkbook,不过这种方式数据量大的话会产生内存溢出问题,SXSSFWorkbook是一种大数据量导出格式,csv是另一种excel导出的一种轻快的 ...

  9. 关于poi导出excel方式HSSFWorkbook(xls).XSSFWorkbook(xlsx).SXSSFWorkbook.csv的总结

    1.HSSFWorkbook(xls) import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermo ...

随机推荐

  1. 最全Redis面试题

    1.什么是Redis? 2.Redis相比memcached有哪些优势? 3.Redis支持哪几种数据类型? 4.Redis主要消耗什么物理资源? 5.Redis的全称是什么? 6.Redis有哪几种 ...

  2. 安装 primecoin 矿池

    壹.安装 boost_1_49_0. 一.官网下载:https://www.boost.org/users/download/ 前期准备:boost中,用到了别的函数库,所以为了使用boost中相应的 ...

  3. 今日份学习: Docker 和 Docker的使用

    笔记 Docker 能做什么? 保证开发.测试.交付.部署的环境完全一致 保证资源的隔离 启动临时的.用完即弃的环境,例如测试 迅速(秒级)超大规模部署和扩容 Docker 基本概念 镜像 image ...

  4. 报警视图 报警窗口 报警指示器 的组态 PLC变量 事故信息 MW16 报警确认变量 MW18 转速变量 MW20 温度变量 MW22 用 M17.0 来模拟事故信息的最低位。用PLCSIM 给定温度为800 度 报警视图与报警窗口显示故障

    组态报警并用PLCSIM进行仿真 步骤1 : 组态离散变量报警 在PLC 的默认变量表中 创建变量"事故信息" 数据类型是word 绝对地址是MW16 同时建立 报警确认变量 MW ...

  5. 移动互联网APP测试流程及测试点

    1.2测试周期 测试周期可按项目的开发周期来确定测试时间,一般测试时间为两三周(即15个工作日),根据项目情况以及版本质量可适当缩短或延长测试时间.正式测试前先向主管确认项目排期. 1.3测试资源 测 ...

  6. P1250 种树 题解

    题目描述 一条街道的一边有几座房子,因为环保原因居民想要在路边种些树,路边的居民被分割成 n 块,并被编号为 1…n.每块大小为一个单位尺寸并最多可种一棵树.每个居民想在门前种些树并指定了三个数b,e ...

  7. IdentityServer4专题之五:OpenID Connect及其Client Credentials流程模式

    1.基于概念 OAuth2.0与身份认证协议的角色映射 OpenID Connect 这个协议是2014颁发的,基于OAuth2.0,在这个协议中,ID Token会和Access Token一起发回 ...

  8. CSP-J/S2019试题选做

    S D1T2 括号树 设\(f[u]\)表示根到\(u\)的路径上有多少子串是合法括号串.(即题目里的\(k_u\),此变量名缺乏个性,故换之) 从根向每个节点dfs,容易求出\(c[u]\):表示从 ...

  9. Java 实现 POS 打印机无驱打印

    来源:https://www.ibm.com/developerworks/cn/java/j-lo-pos/index.html 行业需求 我们是一家专业做酒店餐饮软件的公司,餐饮软件一个重要的功能 ...

  10. Ubuntu操作系统部署zabbix agent服务

    Ubuntu操作系统部署zabbix agent服务 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.下载zabbix软件包 博主推荐阅读: https://www.cnblog ...