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

http://download.csdn.net/detail/evangel_z/3895051

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(); 

        } 

  

 }

http://www.cnblogs.com/bmbm/archive/2011/12/08/2342261.html

最新文章

  1. Docker 第一篇--初识docker
  2. SQL SERVER 查询表或字段在哪里使用过
  3. 游戏中的人工智能——初探AI
  4. WCF初探-11:WCF客户端异步调用服务
  5. HDU 5101 Select --离散化+树状数组
  6. Oracle数据库—— PL/SQL基础编程
  7. [iOS基础控件 - 6.8] 各种数据类型的@property属性
  8. 服装销售系统数据库课程设计(MVC)
  9. Nodejs负载均衡:haproxy,slb以及node-slb - i5ting的个人空间 - 开源中国社区
  10. C# DataTable 详解
  11. 循环神经网络(RNN)模型与前向反向传播算法
  12. hexo部署github和gitment操作简单介绍
  13. (1)selenium-java环境搭建
  14. 第一册:lesson seventy five。
  15. Codeforces715 B. Complete The Graph
  16. Linux下设置VSCode为默认的文本编辑器
  17. jdk8- list操作
  18. HDOJ 1023 Train Problem II
  19. iOS开发 2x 3x图
  20. shell基本语法和执行

热门文章

  1. KMP CF126B Password
  2. &quot;library not found for - &quot;解决办法
  3. java中/与%的区别
  4. virtualenv 环境安装
  5. 2017.7.1 nginx反向代理服务器域名解析配置(已验证可使用)
  6. CodeForces 388A Fox and Box Accumulation (模拟)
  7. 向git库提交代码出现”There are no staged files&quot;怎么办?
  8. MyBatis Generator生成DAO——序列化
  9. SQLiteDatabase中query、insert、update、delete方法参数说明
  10. iOS音乐后台播放及锁屏信息显示