poi 导出Excel java代码
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+'¤t_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代码的更多相关文章
- Java POI 导出EXCEL经典实现 Java导出Excel
转自http://blog.csdn.net/evangel_z/article/details/7332535 在web开发中,有一个经典的功能,就是数据的导入导出.特别是数据的导出,在生产管理或者 ...
- 重构:以Java POI 导出EXCEL为例
重构 开头先抛出几个问题吧,这几个问题也是<重构:改善既有代码的设计>这本书第2章的问题. 什么是重构? 为什么要重构? 什么时候要重构? 接下来就从这几个问题出发,通过这几个问题来系统的 ...
- 重构:以Java POI 导出EXCEL为例2
前言 上一篇博文已经将一些对象抽象成成员变量以及将一些代码块提炼成函数.这一节将会继续重构原有的代码,将一些函数抽象成类,增加成员变量,将传入的参数合成类等等. 上一篇博文地址:http://www. ...
- Java之POI导出Excel(一):单sheet
相信在大部分的web项目中都会有导出导入Excel的需求,今天我们就来看看如何用Java代码去实现 用POI导出Excel表格. 一.pom引用 pom文件中,添加以下依赖 查看代码 <!-- ...
- java中使用poi导出excel表格数据并且可以手动修改导出路径
在我们开发项目中,很多时候会提出这样的需求:将前端的某某数据以excel表格导出,今天就给大家写一个简单的模板. 这里我们选择使用poi导出excel: 第一步:导入需要的jar包到 lib 文件夹下
- java解决poi导出excel文字水印,导出excel不可操作问题
首先需求是用户提出导出excel数据需使用水印备注其用途: 其实就是在导出excel的同时带有自定义文字水印的导出. 那么我们首先想到的肯定是以一个什么样的思路去解决该问题,首先查找poi导出exce ...
- POI导出EXCEL经典实现
1.Apache POI简介 Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程式对Microsoft Office格式档案读和写的功能. .NET的开发人员则 ...
- 关于poi导出excel三种方式HSSFWorkbook,SXSSFWorkbook,csv的总结
poi导出excel最常用的是第一种方式HSSFWorkbook,不过这种方式数据量大的话会产生内存溢出问题,SXSSFWorkbook是一种大数据量导出格式,csv是另一种excel导出的一种轻快的 ...
- 关于poi导出excel方式HSSFWorkbook(xls).XSSFWorkbook(xlsx).SXSSFWorkbook.csv的总结
1.HSSFWorkbook(xls) import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermo ...
随机推荐
- 十一 队列 Queue
队列: 一种先进先出的数据结构 FIFO 数组队列的实现:
- 为何以及如何学Linux系统?
在当今的社会中,linux用处实在是太过广泛了.现在用在服务器和嵌入式上的Linux发行版本数不胜数,桌面上linux只占1%的比例,但这不代表linux比windows和mac 做得差,实际上桌面系 ...
- 标准模板库中的优先队列(priority_queue)
//C++数据结构与算法(第4版) Adam Drozdek 著 徐丹 吴伟敏<<清华大学出版社>> #include<queue> priority_queu ...
- Shiro登录身份认证(从SecurityUtils.getSubject().login(token))到Realm的doGetAuthenticationInfo
ssm框架下,controller接收到登录请求交给Service并开始处理流程: 1.Service的login方法: @Service public class SysUserServiceImp ...
- [Codeforces #615 div3]1294E Obtain a Permutation
Before the Beginniing 本文为 Clouder 原创文章,原文链接为Click,转载时请将本段放在文章开头显眼处.如进行了二次创作,请明确标明. 由本人转载于博客园. 题意分析 C ...
- ObjectMapper : can only instantiate non-static inner class by using default, no-argument constructor
Label_t lTrain = new ObjectMapper().readValue(s, Label_t.class); 因为Label_t是内部类,需要 1.static 2.无参构造函数
- alsa-utils 的使用
ref : https://blog.csdn.net/outstanding_yzq/article/details/8126350 一.alsa-utils介绍 ALSA是kernel中的一个声 ...
- OpenJ_Bailian - 1088 滑雪(记忆化搜索)
题意:给定一个二维数组,一个人可以从某个点滑向上下左右相邻四个点之一,当且仅当高度减小,输出可以滑行的最长区域的长度. 分析:对于每一个点,进行记忆化搜索.若某点可以向四周某几个点滑行,记忆化搜索求出 ...
- NFS PersistentVolume【转】
上一节我们介绍了 PV 和 PVC,本节通过 NFS 实践. 作为准备工作,我们已经在 k8s-master 节点上搭建了一个 NFS 服务器,目录为 /nfsdata: 下面创建一个 PV mypv ...
- WARN No appenders could be found for logger 。。。。
对于类似与标题的警告信息,一般来说是环境在没有加载log4j的配置文件之前就读取了log4j的包. 解决方法就是先加载log4j的配置文件,然后再加载log4j的包. 另一个解决方案就是移除log4j ...