博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
下载并导出数据到execl中
阅读量:5359 次
发布时间:2019-06-15

本文共 3622 字,大约阅读时间需要 12 分钟。

下载poi-3.6-20091214.jar。下载地址例如以下:

1.jsp

<button type="button" class="btn btn-mini" onClick="location.href='<%=basePath%>/bankcard/exportEffectThirdData?

begintime=${begintime}&endtime=${endtime}&page=1'">导出有效订单</button>

2.后台代码处理:

 controller 处理:

@Get("exportReturnThirdData")

 public  void  exportReturnThirdListData(Invocation inv,@Param("begintime") String startTime,
   @Param("endtime") String endTime){
  HttpServletResponse response = inv.getResponse();
  // response.setContentType("application/xls");
  response.setContentType("application/x-download");
  response.reset();
  response.setContentType("bin");
  String header = "attachment;filename=returnThirdData.xls";
  response.addHeader("Content-Disposition", header);

  String[] heads = { "订单日期", "订单号", "商品名称", "商品属性", "渠道名称", "支付银行卡","支付账号", "成本价", "卖出价", "卖出收入", "发货日期", "外订单审核日期", "退货日期", "取消日期" };

  List<FenqiGoodsOrder> returnOrders = fenqiGoodsOrderListService
    .exportReturnThirdList(startTime, endTime);
  String path = "";

  OrderDetailExportExeclUtil.exeportListData(heads, returnOrders,response);

 }

导出到execl处理逻辑:

public static void  exeportListData(String[] heads,List<FenqiGoodsOrder> returnOrders,HttpServletResponse response){

  // 第一步。创建一个webbook,相应一个Excel文件  
        HSSFWorkbook wb = new HSSFWorkbook(); 
       // 第二步。在webbook中加入一个sheet,相应Excel文件里的sheet  
        HSSFSheet sheet = wb.createSheet("第三方退货订单明细"); 
       // 第三步,在sheet中加入表头第0行,注意老版本号poi对Excel的行数列数有限制short  
        HSSFRow row = sheet.createRow((int) 0); 
     // 第四步。创建单元格,并设置值表头 设置表头居中  
     HSSFCellStyle style = wb.createCellStyle(); 
     style.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 创建一个居中格式  

     HSSFCell cell=null;

         for(int h=0;h<heads.length;h++){
          cell = row.createCell((short) h); 
          cell.setCellValue(heads[h]); 
       cell.setCellStyle(style); 
         }
     // 第五步,写入实体数据 实际应用中这些数据从数据库得到,  
        for (int i = 0; i < returnOrders.size(); i++) 
       { 
            row = sheet.createRow((int) i + 1); 
            FenqiGoodsOrder goodsOrder = (FenqiGoodsOrder) returnOrders.get(i); 
           // 第四步,创建单元格,并设置值  
            row.createCell((short) 0).setCellValue(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(goodsOrder.getCreateTime())); 
            row.createCell((short) 1).setCellValue(goodsOrder.getOrderNo()); 
            row.createCell((short) 2).setCellValue(goodsOrder.getGoodName()); 
            row.createCell((short) 3).setCellValue(goodsOrder.getGoodType());
            row.createCell((short) 4).setCellValue(goodsOrder.getChannelName()); 
            row.createCell((short) 5).setCellValue(goodsOrder.getCardNo()); 
            row.createCell((short) 6).setCellValue(goodsOrder.getAccountNo()); 
            row.createCell((short) 7).setCellValue(goodsOrder.getPurchasePrice());//成本价
            row.createCell((short) 8).setCellValue(goodsOrder.getSellPrice());//卖出价
            row.createCell((short) 9).setCellValue(goodsOrder.getSellEarning());//卖出收入 
            if(goodsOrder.getDeliveryTime() !=null && !goodsOrder.getDeliveryTime().equals("")){
             row.createCell((short) 10).setCellValue(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(goodsOrder.getDeliveryTime())); 
            }
            if(goodsOrder.getAuditTime() !=null && !goodsOrder.getAuditTime().equals("")){
             row.createCell((short) 11).setCellValue(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(goodsOrder.getAuditTime()));
            }
            if(goodsOrder.getReturnTime() !=null && !goodsOrder.getReturnTime().equals("")){
             row.createCell((short) 12).setCellValue(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(goodsOrder.getReturnTime())); 
            }
            if(goodsOrder.getCancelDate() !=null && !goodsOrder.getCancelDate().equals("")){
             row.createCell((short) 13).setCellValue(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(goodsOrder.getCancelDate()));
            }
         } 
         // 第六步,将文件存到指定位置  
        try 
        { 
         wb.write(response.getOutputStream()); 
        } 
       catch (Exception e) 
       { 
            e.printStackTrace(); 
        } 
  
 }

 

 

 

转载于:https://www.cnblogs.com/wzjhoutai/p/6780270.html

你可能感兴趣的文章
springboot中文官方文档
查看>>
ThreadLocal实现线程范围内共享
查看>>
多校HDU5723 最小生成树+dfs回溯
查看>>
ASP.NET MVC分页实现之改进版-增加同一个视图可设置多个分页
查看>>
关于ASP.NET MVC开发设计中出现的问题与解决方案汇总 【持续更新】
查看>>
关于Entity Framework中的Attached报错的完美解决方案终极版
查看>>
Selenium之Web页面滚动条滚操作
查看>>
组合数据类型练习,英文词频统计实例上
查看>>
Uber回馈开源的一些软件
查看>>
day 3 修改haproxy.cfg 作业
查看>>
UIScrollView —— 缩放实现案例(二)
查看>>
【Qt】Qt Linguist介绍【转】
查看>>
sim usim Uim 区别
查看>>
网页中插入透明Flash的方法和技巧
查看>>
动态内存申请函数选择(realloc、malloc 、alloca、 calloc)
查看>>
获取元素属性get_attribute
查看>>
视觉设计师的进化
查看>>
Python/jquery
查看>>
【BZOJ】【2132】圈地计划
查看>>
Lua 语言基本语法
查看>>