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. 多用类型常量,少用#define预处理指令

    摒弃: #define ANIMATION_DURATION 0.3   #define ERROR_MESSAGE @“ErrorMessage” 1)没有常量的类型信息 2)假设此指令声明在某个头 ...

  2. 银行输入密码五次次数限制python程序实现

    python银行输入密码五次次数限制程序实现,主要在于对于异常情况的处理语句的编写,需要使用while循环语句和try和except异常处理语句的复合编写语句n=0while n<5: try: ...

  3. Springboot 项目启动设置

    //配置默认访问路径 并且自动打开浏览器  需要创建独立文件 @Controller public class HomeController {     @RequestMapping("/ ...

  4. 从数据库中查询所有表及所有字段的SQL语句

    从数据库中查询所有表及所有字段的SQL语句 由于一个小项目的需要,近日完成一个从数据库中查询所有表及所有字段的方法,其实用两条SQL语句就可以完成. Sql Server版:列出当前DB中所有表:se ...

  5. 为Linux环境安装图形化界面

    1.更新软件源并升级系统 yum uppdate&&yum install wqy-microhei-fonts 2.安装GNOME+VNC一键包 wget https://gist. ...

  6. 注册模块上线前安全测试checklist

    许多应用系统都有注册模块,正常用户通过注册功能,获得应用系统使用权限:而非法用户通过注册模块,则是为了达到不可告人的目的,非法用户可以通过注册模块与服务端进行交互(一切用户输入都不可信),因此系统上线 ...

  7. CMake查找第三方库路径

    问题 一直都有一个问题,就是基于Windows下使用CMake构建VS工程时,CMake是如何查找到第三方库所在的路径的呢? 答案 今天重新想起这个问题,就拿构建Vtk的VS工程测试了一下, 才发现是 ...

  8. 深入理解python(二)python基础知识之数据结构

    数据结构 Python中的内置数据结构(Built-in Data Structure):列表list.元组tuple.字典dict.集合set,这里只着重说前三个 >>> d=di ...

  9. 安装lnmp1.5到最后出现Error: MySQL install failed的解决方法

    解决方法: mv /usr/bin/cmake /usr/bin/cmake.backup wget http://www.cmake.org/files/v3.0/cmake-3.0.2.tar.g ...

  10. IOS switch-case知多少

    1. switch参数类型 switch参数类型要求是integer type,准确来讲,是可以转换成integer的类型, 这包括所有的C基本数据类型((signed/unsigned)char, ...