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. 数字对象NSNumber的使用

    先简述下关于NSNumber的信息 NSNumber的存在就相当于java中的装箱与拆箱.只不过java中的装箱拆箱过程,使用的是对应的类型,比如基本数据类型是int.double类型,装箱时就得对应 ...

  2. Lesson 9 Royal espionage

    What important thing did King Alfred learn when he penetrated the Danish camp of Guthrum? Alfred the ...

  3. 夯实Java基础(十六)——枚举类的使用

    1.枚举类简介 枚举是仅容许特定数据类型值的有限集合.例如我们平时生活中星期一到星期日这七天就是一个特定的有限集合,一年四季的春夏秋冬也同样是的,它们都是枚举.枚举和我们数学中的集合非常相似,如果我们 ...

  4. H5地理定位获取用户当前位置、城市

    第一步:需要在百度地图开发者平台创建一个应用:http://lbsyun.baidu.com/apiconsole/key/create 配置信息 申请配置成功以后返回一个AK 第二步:引入百度地图的 ...

  5. 题解 LG P2264

    这是题解P2264 先讲一下Trie,其实Trie也名前缀树,就是说:如果Trie中某串是某串的前缀,那么我们可以共用这个串也就是这样: 插入h.hk.jc,jcfa 那么,h节点会给h和hk共用,j ...

  6. Lesson 6 The sporting spirit

    How does the writer describe sport at the international level? I am always amazed when I hear people ...

  7. 一 Hibernate入门

    Hibernate环境搭建 Hibernate的API Hibernate的CRUD EE三层结构: web层 业务逻辑层 持久层         jdbc,DBUTils,Hibernate Hib ...

  8. Vue的7属性-8方法-7指令

    Vue的7属性: el属性 绑定id,用来指示vue编译器从什么地方开始解析 vue的语法,可以说是一个占位符 data属性 用来组织从view中抽象出来的属性,可以说将视图的数据抽象出来存放在dat ...

  9. python2学习------基础语法5(常用容器以及相关操作)

    1.list(列表) #生成数据list a=[x for x in range(10)]; #print a; #遍历list for i in a: pass; #print i; #追加元素 a ...

  10. 利用uboot下载引导Kernel(TFTP)以及挂载网络Rootfs(NFS)

    背景: 在嵌入式开发中,经常需要对系统的各个部分进行修改.倘若每次修改都烧写到板子中,一来浪费时间,其次影响存储介质寿命. 所以,需要一些手段来避免此类问题. 概览: 编译uboot 将uboot写入 ...