下载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

下载并导出数据到execl中的更多相关文章

  1. 手把手教你springboot中导出数据到excel中

    手把手教你springboot中导出数据到excel中 问题来源: 前一段时间公司的项目有个导出数据的需求,要求能够实现全部导出也可以多选批量导出(虽然不是我负责的,我自己研究了研究),我们的项目是x ...

  2. MySQL导出数据到文件中的方法

    MySQL导出数据到文件中的方法 1.导出数据到txt文件中实例:把数据表studscoreinfo中所有数据导出到指定的位置方法:select * from 表名 into outfile 指定导出 ...

  3. 1.ASP.NET MVC使用EPPlus,导出数据到Excel中

    好久没写博客了,今天特地来更新一下,今天我们要学习的是如何导出数据到Excel文件中,这里我使用的是免费开源的Epplus组件. 源代码下载:https://github.com/caofangshe ...

  4. 【转】c# winform DataGridView导出数据到Excel中,可以导出当前页和全部数据

    准备工作就是可以分页的DataGridView,和两个按钮,一个用来导出当前页数据到Excel,一个用来导出全部数据到Excel 没有使用SaveFileDialog,但却可以弹出保存对话框来 先做导 ...

  5. 利用NPOI导出数据到Execl

    相信很多童鞋都开发过Execl的导入导出功能,最近产品中无论是后台数据分析的需要,还是前端满足用户管理的方便,都有Execl导入导出的维护需求产生. 以前做这个功能,如果是web,利用HttpCont ...

  6. python 导出数据到excel 中,一个好用的导出数据到excel模块,XlsxWriter

    最近公司有项目需要导出数据到excel,首先想到了,tablib,xlwt,xlrd,xlwings,win32com[还可以操作word],openpyxl,等模块但是 实际操作中tablib 写入 ...

  7. 关于2020.04.26【MySQL导出数据到文件中的方法】的补充

    之前导出的数据文件中没有表的列名,感觉不够完整,摸索一下发现带表列名导出也是可以的,只试了导出txt和csv两种文件类型的方法.       1.导出数据到txt文件中(包含数据表列名)的方法:先选择 ...

  8. C#自定义导出数据到Excel中的类封装

    using System; using System.IO; using System.Data; using System.Collections; using System.Data.OleDb; ...

  9. MySQL导出数据到文件中

    一.导出一张表数据 把test_time表中的数据导出成txt 文件 mysql> show global variables like '%secure%'; +--------------- ...

随机推荐

  1. [BZOJ 2957]楼房重建(THU2013集训)(线段树维护单调栈)

    题目:http://www.lydsy.com/JudgeOnline/problem.php?id=2957 分析: 根据题意,就是比较斜率大小 只看一段区间的话,那么这段区间能看见的楼房数量就是这 ...

  2. 二分图变种之最小路径覆盖、最小点覆盖集【poj3041】【poj2060】

    [pixiv] https://www.pixiv.net/member_illust.php?mode=medium&illust_id=54859604 向大(hei)佬(e)势力学(di ...

  3. [CC-CHANOQ]Chef and odd queries

    题目大意: 给定$n(10^5)$个线段$[l_i,r_i](1\leq l_i,r_i\leq n)$,有$q(q\leq10^5)$组询问,每次给出$m_i(\sum m_i\leq n)$个点$ ...

  4. pyttsx的中文语音识别问题及探究之路

    最近在学习pyttsx时,发现中文阅读一直都识别错误,从发音来看应该是字符编码问题,但搜索之后并未发现解决方案.自己一路摸索解决,虽说最终的原因非常可笑,大牛们可能也是一眼就能洞穿,但也值得记录一下. ...

  5. 【spring boot】集成了druid后,同样的mybatis模糊查询语句出错Caused by: com.alibaba.druid.sql.parser.ParserException: syntax error, error in :'name LIKE '%' ? '%'

    druid版本是 <!-- https://mvnrepository.com/artifact/com.alibaba/druid 数据库连接池--> <dependency> ...

  6. Unitity 常用工具类

    ylbtech-Unitity_C#: Unitity 常用代码 1.A,效果图返回顶部   1.B,源代码返回顶部 1,日期字符串 using System; using System.Xml; / ...

  7. 【Todo】【转载】Java中的锁机制2 - Lock

    参考这篇文章 http://blog.csdn.net/chen77716/article/details/6641477 上一篇 (http://www.cnblogs.com/charlesblc ...

  8. Tomcat Deployment failure ,locked one or more files

    在用Eclipse+Tomcat配置J2EE项目时,出现如下提示错误: Undeployment Failure could not be redeployed because it could no ...

  9. 2016.6.20 tomcat端口始终被占用

    我在使用tomcat7时,服务开启时,始终提示端口被占用. 但是从进程中又看不到开启的tomcat. 最后在资源监视器中,结束重复开启的tomcat. (注意是资源监视器,刚开始的时候看成管理器,怎么 ...

  10. PHP防止sql注入-JS注入

    一:为了网站数据安全,所有和数据库操作的相关参数必须做相关过滤,防止注入引起的网站中毒和数据泄漏 1.PHP自带效验函数 mysql_real_escape_string() 函数转义 SQL 语句中 ...