@RequestMapping(value = "/drawPayFailExport",method = RequestMethod.GET,produces = "application/json")
public ResponseData getAllDrawPayFailExport(HttpServletRequest request, HttpServletResponse response){
String startTime = null;
String endTime = null;
String userName = null;
String accountNumber = null;
if (!"undefined".equals(request.getParameter("startTime"))){
startTime = request.getParameter("startTime");
}
if (!"undefined".equals(request.getParameter("endTime"))){
endTime = request.getParameter("endTime");
}
if (StringUtils.isNotBlank(request.getParameter("userName"))){
userName = request.getParameter("userName");
}
if (StringUtils.isNotBlank(request.getParameter("accountNumber"))){
accountNumber = request.getParameter("accountNumber");
}
DrawPayFailDto drawPayFailDto = new DrawPayFailDto();
drawPayFailDto.setStartTime(startTime);
drawPayFailDto.setEndTime(endTime);
drawPayFailDto.setUserName(userName);
drawPayFailDto.setAccountNumber(accountNumber);
logger.info("兑换提现付款失败导出请求参数:"+JSON.toJSON(drawPayFailDto));
//第一步创建workbook
HSSFWorkbook wb = new HSSFWorkbook();

//第二步创建sheet
HSSFSheet sheet = wb.createSheet("兑换提现付款失败表");

//第三步创建行row:添加表头0行
HSSFRow row = sheet.createRow(0);
HSSFCellStyle style = wb.createCellStyle();
style.setAlignment(HSSFCellStyle.ALIGN_CENTER); //居中

//第四步创建单元格
HSSFCell cell = row.createCell(0); //第一个单元格
cell.setCellValue("序号"); //设定值
cell.setCellStyle(style); //内容居中

cell = row.createCell(1); //第二个单元格
cell.setCellValue("申请编号");
cell.setCellStyle(style);

cell = row.createCell(2); //第三个单元格
cell.setCellValue("申请时间");
cell.setCellStyle(style);

cell = row.createCell(3); //第四个单元格
cell.setCellValue("用户姓名");
cell.setCellStyle(style);

cell = row.createCell(4); //第五个单元格
cell.setCellValue("手机号");
cell.setCellStyle(style);

cell = row.createCell(5); //第六个单元格
cell.setCellValue("实际应付金额");
cell.setCellStyle(style);

cell = row.createCell(6); //第七个单元格
cell.setCellValue("退款银行");
cell.setCellStyle(style);

cell = row.createCell(7); //第八个单元格
cell.setCellValue("银行卡号");

cell.setCellStyle(style);

cell = row.createCell(8);//第九个单元格

cell.setCellValue("初审人");

cell.setCellStyle(style);

cell = row.createCell(9); //第十个单元格

cell.setCellValue("复审人");

cell.setCellStyle(style);

cell = row.createCell(10); //第十一个单元格

cell.setCellValue("支付渠道");

cell.setCellStyle(style);

cell = row.createCell(11); //第十二个单元格

cell.setCellValue("付款状态");

cell.setCellStyle(style);

ResponseData responseData = refundTicketDrawService.selectDrawPayFailList(drawPayFailDto);

List<DrawConfirmDetailVo> list = null;

if ("0".equals(responseData.getStatus())){

  list = (List<DrawConfirmDetailVo>) responseData.getData();

}

if (list != null && list.size() > 0){

   for (int i = 0; i < list.size(); i++){

     DrawConfirmDetailVo drawConfirmDetailVo = list.get(i); //创建行

    row = sheet.createRow(i+1); //创建单元格并且添加数据

    row.createCell(0).setCellValue(i+1);

    row.createCell(1).setCellValue(drawConfirmDetailVo.getApplyNo());

    row.createCell(2).setCellValue(drawConfirmDetailVo.getApplytime());

row.createCell(3).setCellValue(drawConfirmDetailVo.getRealName());

    row.createCell(4).setCellValue(drawConfirmDetailVo.getAccountNumber());

row.createCell(5).setCellValue(String.valueOf(drawConfirmDetailVo.getActualMoney()));

row.createCell(6).setCellValue(drawConfirmDetailVo.getBankName());

row.createCell(7).setCellValue(drawConfirmDetailVo.getBankAccount());

row.createCell(8).setCellValue(drawConfirmDetailVo.getFirstAuditPerson());

row.createCell(9).setCellValue(drawConfirmDetailVo.getSecondAuditPerson());

row.createCell(10).setCellValue(drawConfirmDetailVo.getPayChannel());

if (drawConfirmDetailVo.getPayState() == 0){

     row.createCell(11).setCellValue(PayState.Pay_wait.getDesc());

} else if (drawConfirmDetailVo.getPayState() == 1){

    row.createCell(11).setCellValue(PayState.Pay_success.getDesc());

   }else if (drawConfirmDetailVo.getPayState() == 2){

     row.createCell(11).setCellValue(PayState.Pay_fail.getDesc());

   }else if (drawConfirmDetailVo.getPayState() == 3){

    row.createCell(11).setCellValue(PayState.Pay_ing.getDesc());

}

}

}

  //web浏览通过MIME类型判断文件是excel类型

  response.setContentType("application/vnd.ms-excel;charset=utf-8");

  response.setCharacterEncoding("utf-8");

   //第六步将生成excel文件保存到指定路径下

   try { //FileOutputStream fout = new FileOutputStream("D:\\MediaPos.xls");

      String fileName = URLEncoder.encode("兑换提现付款失败表.xls");

     response.setHeader("Content-disposition", "attachment;filename=" + fileName);

     OutputStream fout = response.getOutputStream(); wb.write(fout); fout.close();

  } catch (IOException e) {

   logger.error("导出兑换提现付款失败表出错",e);

}

    return null;

}

POI导出,开发中经常会遇到数据导出这样的问题,下面是我在开发中采用的解决方法,大家可以参考,具体的实现害的结合你自身的业务逻辑的更多相关文章

  1. 【基于WinForm+Access局域网共享数据库的项目总结】之篇二:WinForm开发扇形图统计和Excel数据导出

    篇一:WinForm开发总体概述与技术实现 篇二:WinForm开发扇形图统计和Excel数据导出 篇三:Access远程连接数据库和窗体打包部署 [小记]:最近基于WinForm+Access数据库 ...

  2. AndroidStudio中利用git下载github或者git.oschina的代码时报错:repository test has failed解决方法

    作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985 QQ986945193 微博:http://weibo.com/mcxiaobing AndroidS ...

  3. win7或win2008系统中,出现【已停止工作,联机检查解决方案并关闭该程序,关闭程序】解决方法!

    win7或win2008系统中,出现[已停止工作,联机检查解决方案并关闭该程序,关闭程序]解决方法! 经过摸索,点击[控制面板]-[操作中心]-[更改操作中心设置]-[问题报告设置]-[从不检查解决方 ...

  4. C# 实现将listview中已经显示的数据导出到Access 数据库

    private void button1_Click(object sender, EventArgs e) { OleDbConnection dbconn = new OleDbConnectio ...

  5. 分页(将数据库中的多条数据一页一页的显示在jsp页面中)

    一.显示数据库中的多条数据为什么要用分页 在真正的开发中,数据库中所存储的数据绝对不像我们平时所写的那样,仅仅有几条数据,而是有几十条甚至上百条,像淘宝京东的用户把都是上几十万甚至百万的.如果这时候在 ...

  6. C# 从集合A中取出集合B中不包含的数据(根据ID判断),并添加到集合B中

    从一个集合A中取出另一个集合B中不包含的数据,并添加到集合B中 private void button2_Click(object sender, EventArgs e) { var ListA = ...

  7. asp.net MVC中使用Html.Checkbox提示该字符串未被识别为有效的布尔值错误的解决方法

    在asp.net MVC中使用Html.CheckBox提交后出现该字符串未被识别为有效的布尔值错误,或从类型“System.String”到类型“System.Boolean”的参数转换失败. 错误 ...

  8. mysql数据库数据(字段数过大)太多导入不了的解决方法

    mysql数据库数据(字段数过大)太多导入不了的决方法: 1.打开navicat 工具 2.在数据库上右键,执行右键菜单命令“命令列界面” 3.在打开的窗口中,运行set global max_all ...

  9. 数据库查询的数据导出到xls表,集合数据导出到xls表

    //实体类package com.outxls; public class Student { private Integer studentId; private String studentNam ...

随机推荐

  1. lightoj 1031【区间DP,未完待续】

    题意: 给你一个n,再给你n个数,每个数<1e4; 有两个player交替取数字,每个人每一次能拿一个或多个,交替在两边拿. 游戏终止在所有的数字被取完. 两个人的分数就是所取得的数字大小总和. ...

  2. python __builtins__ zip类 (71)

    71.'zip' , 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表.如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作 ...

  3. thinkphp5 +elasticsearch

    php7使用elasticsearch 1.安装 官网下载地址:https://www.elastic.co/downloads/elasticsearch # 解压到非root目录,运行时使用非ro ...

  4. 转载文章 -- 难搞的滚动事件(滚动默认,scrollTop)

    关于取消默认事件 现今的 chrome 浏览器,为了实现丝滑顺畅地滑动,活动时间直接执行而不再检测默认事件,这使得无法用 e.preventDafult() 来阻止默认事件. 现在需要添加 {pass ...

  5. SpringSercurity基础

    创建 spring 配置文件 spring-security.xml intercept-url 表示拦截页面    /*  表示的是该目录下的资源,只包括本级目录不包括下级目录 /** 表示的是该目 ...

  6. 无法获得VMCI 驱动程序的版本: 句柄无效的解决方法

    关闭虚拟机,找到安装路径,用记事本打开.vmx结尾的文件 将vmci0.present = "TRUE"改为vmci0.present = "FALSE"保存

  7. 2017年“嘉杰信息杯” 中国大学生程序设计竞赛全国邀请赛 Highway

    Highway Accepted : 122   Submit : 393 Time Limit : 4000 MS   Memory Limit : 65536 KB Highway In ICPC ...

  8. 模拟 百度之星资格赛 1003 IP聚合

    题目传送门 /* 模拟水题,排序后找出重复的ip就可以了 */ #include <cstdio> #include <iostream> #include <algor ...

  9. ubuntu14.04 在Dash中添加条目并把它放到启动器上

    1. 创建studio.desktop,内容如下:注意路径. [Desktop Entry] Version=2.2.3 Name=Android Studio Exec=/home/你的用户名/an ...

  10. 日历 php

    <?php $year=@$_GET['year']; //获得地址栏的年份 $month=@$_GET['month']; //获得地址栏的月份 if(empty($year)) $year= ...