所需maven<!-- https://mvnrepository.com/artifact/net.sourceforge.javacsv/javacsv --><dependency><groupId>net.sourceforge.javacsv</groupId><artifactId>javacsv</artifactId><version>2.0</version></dependency>public void exportOrder(OrderPar orderPar,HttpServletResponse getResponse){//查询需要导出得数据orderPar.setPageNum((orderPar.getPageNum().equals(0))?1:orderPar.getPageNum());orderPar.setPageNum(((orderPar.getPageNum().equals(1))?1:(orderPar.getPageNum()*orderPar.getPageSize())-1)-1);//查询供应商订单List<Order> orderList=this.orderExtMapper.supplierFindOrderList(orderPar);//查询总页数Integer count =this.orderExtMapper.findPOrderCountByUserId(orderPar);for (int i=0;i<orderList.size();i++){//根据商品id查询商品名称ResponseBase<BusGoodsWithBLOBsDto> goodslist=busGoodsServiceFeign.detail(orderList.get(i).getGoodsId());if (goodslist.getData()!=null){orderList.get(i).setName(goodslist.getData().getName());orderList.get(i).setSupplierName(goodslist.getData().getSupplierName());orderList.get(i).setLogoImg(goodslist.getData().getLogoImg());orderList.get(i).setPrice(goodslist.getData().getPrice()/100);orderList.get(i).setCouponPrice(goodslist.getData().getDiscountPrice()/100);orderList.get(i).setSelfCoding(goodslist.getData().getSelfCoding());//goodsCartList.get(i).setPostage(goodslist.getData().getPostage());}//根据规格id查询规格ResponseBase<BusGoodsSpecs> SpecDetail=busGoodsServiceFeign.getSpecDetail(orderList.get(i).getGoodsSpecId());if (SpecDetail.getData()!=null){String SpecDetailName=(StringUtils.isBlank(SpecDetail.getData().getName()))?"":SpecDetail.getData().getName();orderList.get(i).setGoodsSpecsName(SpecDetailName);}}try {// 创建CSV写对象List<Order> ls=new ArrayList<Order>();for (int i = 0; i <orderList.size(); i++) {switch (orderList.get(i).getPayType()){case 0:orderList.get(i).setPayName("微信支付");case 1:orderList.get(i).setPayName("支付宝支付");case 2:orderList.get(i).setPayName("银联支付");}SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");if (orderList.get(i).getCreateTime()!=null){orderList.get(i).setCreatDate(DateUtils.DateToString(orderList.get(i).getCreateTime(),"yyyy-MM-dd HH:mm:ss"));}if (orderList.get(i).getPayTime()!=null){orderList.get(i).setPayDate(sf.format(orderList.get(i).getPayTime()));}if (orderList.get(i).getConsignTime()!=null){orderList.get(i).setConsignDate(sf.format(orderList.get(i).getConsignTime()));}if (orderList.get(i).getReceiveTime()!=null){orderList.get(i).setReceivingDate(sf.format(orderList.get(i).getReceiveTime()));}switch (orderList.get(i).getPayType()){case 0:orderList.get(i).setStatusName("待支付");case 1:orderList.get(i).setStatusName("取消支付");case 2:orderList.get(i).setStatusName("待发货");case 3:orderList.get(i).setStatusName("已发货");case 4:orderList.get(i).setStatusName("已签收");case 5:orderList.get(i).setStatusName("已退货");case 6:orderList.get(i).setStatusName("待退款");case 7:orderList.get(i).setStatusName("已退款");case 8:orderList.get(i).setStatusName("已完成");}ls.add(orderList.get(i));}//写入临时文件File tempFile = File.createTempFile("vehicle", ".csv");CsvWriter csvWriter = new CsvWriter(tempFile.getCanonicalPath(),',', Charset.forName("UTF-8"));// 写表头long s= System.currentTimeMillis();System.err.println();String[] headers = {"订单编号","订单状态","支付方式","支付时间","发货时间","确认收货时间","供应商名称","供应商自编码","商品名称","结算单价","数量","结算总价","订单创建时间","购买者账号"};csvWriter.writeRecord(headers);for (Order stu : ls) {csvWriter.write(String.valueOf(stu.getOrderNum()));csvWriter.write(String.valueOf(stu.getStatusName()));csvWriter.write(String.valueOf(stu.getPayName()));csvWriter.write(String.valueOf(stu.getPayDate()));csvWriter.write(String.valueOf(stu.getConsignDate()));csvWriter.write(String.valueOf(stu.getReceivingDate()));csvWriter.write(String.valueOf(stu.getSupplierName()));csvWriter.write(stu.getSelfCoding());csvWriter.write(String.valueOf(stu.getName()));csvWriter.write(String.valueOf(stu.getCouponPrice()));csvWriter.write(String.valueOf(stu.getAmount()));csvWriter.write(String.valueOf(stu.getCouponPrice()));csvWriter.write(String.valueOf(stu.getCreatDate()));csvWriter.write(String.valueOf(stu.getUserId()));csvWriter.endRecord();}csvWriter.close();long e=System.currentTimeMillis();System.err.println(e-s);;/*** 写入csv结束,写出流*/java.io.OutputStream out = getResponse.getOutputStream();byte[] b = new byte[10240];java.io.File fileLoad = new java.io.File(tempFile.getCanonicalPath());getResponse.reset();getResponse.setContentType("application/csv");getResponse.setHeader("content-disposition", "attachment; filename=order.csv");long fileLength = fileLoad.length();String length1 = String.valueOf(fileLength);getResponse.setHeader("Content_Length", length1);java.io.FileInputStream in = new java.io.FileInputStream(fileLoad);int n;while ((n = in.read(b)) != -1) {out.write(b, 0, n); //每次写入out1024字节}in.close();out.close();} catch (IOException e) {e.printStackTrace();}}

java 导出csv文件通过web下载相关推荐

  1. Java 导出CSV文件及实现web下载CSV

    本文主要介绍Java 导出CSV文件到本地及实现web下载CSV. 1.Java 导出CSV文件到本地 csvWriter: package com.csvio;import java.io.Buff ...

  2. java导出csv文件_R语言数据导入与导出

    R语言数据导入与导出 整这么一个系列,还是因为学R语言时遇到过一个非常"小白友好"的网站"DataScience Made Simple".相信很多人搜到过这个 ...

  3. java导出csv文件乱码_记一次java生成csv文件乱码的解决过程 (GB2312编码)

    系统:win7 (格式:中文(简体,中国)) 工具:Eclipse (默认编码utf-8) 服务两个:[restful接口]  和 [服务*** server]. 场景:[服务*** server]多 ...

  4. java导出csv文件 为解决导出excel时每个单元格的限制(32767)

    此实现方法仅供参考 因为本人导出数据量不大所采取的方法 如数据量大,会到至内存溢出请知晓 在这还提下:导出时内容自己换行 只需在内容前尾各加双引号就行. 如图: 1.准备导出工具类 // An hig ...

  5. java导出csv文件_java导出生成csv文件的方法

    本文实例为大家分享了java导出生成csv文件的具体代码,供大家参考,具体内容如下 首先我们需要对csv文件有基础的认识,csv文件类似excel,可以使用excel打开,但是csv文件的本质是逗号分 ...

  6. java导出csv文件使用Excel打开乱码问题

    写一个csv文件,发现使用 notpad++ 打开是没有问题的,但是使用 Excel 打开之后显示乱码 刚开始的代码是这样子的: ByteArrayOutputStream os = new Byte ...

  7. java大数据量导出csv文件并压缩

    java大数据量导出csv文件并压缩 java使用POI大数据量导出excel一般会存在以下几个问题: 一次从数据库查询出这么大数据,查询缓慢 查询数据量过大时会内存溢出 解决方案:分页查询数据,比如 ...

  8. java 导出csv 格式,java导出csv格式文件的方法

    这篇文章主要为大家详细介绍了java导出csv格式文件的方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 导出csv格式文件的本质是导出以逗号为分隔的文本数据 imp ...

  9. Web 端 js 导出csv文件(使用a标签)

    前言 导出文件,使用最多的方式还是服务器端来处理.比如jsp 中使用response 的方式. 但是,有时候可能就想使用web 前端是否也可以把页面上的内容导出来呢? 比如说,导出页面的一个表格. 这 ...

最新文章

  1. Windows usb设备正在使用中
  2. LiveVideoStack线上分享第四季(一):沉浸式音频技术的采集,传输,播放,以及应用场景初探...
  3. 3.15曝光“山寨”杀毒软件“杀毒三宗罪”
  4. 递归思想完成n皇后问题
  5. 32f4怎样同时采集两个adc_硬件-TI-ADC
  6. vue项目的停止_Terminal怎么停止VUE项目
  7. 计算机游戏act指的是什么游戏,忍龙2领衔!5款史上最佳的ACT游戏推荐,值得一玩!...
  8. Photoshop制作水印简易教程
  9. 照片变老html源码,变老教程,利用ps把年轻人变成老年人效果
  10. Flink SQL Client初探
  11. 我为什么反对用各类框架
  12. larval模板引擎
  13. 原来这就是 UI 设计师的门槛
  14. 理解深度学习中的卷积
  15. java服务器保存特殊字符和表情入库报错
  16. Linux 查看文件和文件夹大小,隐藏文件的大小方法总结
  17. [蓝桥杯]圆周率(Python)
  18. 【论文】Oriented R-CNN for Object Detection
  19. 在2012年01月20号这一天,2345浏览器的V1.3版本出世了,又修复什么Bug?
  20. Cindy 3.0中的Buffer设计

热门文章

  1. canvas实现 行人 走路的动画(完整实现)
  2. 【文件系统】uploader实战详解实现分片上传、秒传、续传等(1)
  3. Android 程序常用功能《清除缓存》
  4. Java编程思想之对象入门
  5. mysql-5.5.20-winx64_mysql-5.7.20-winx64命令安装
  6. 【linux服务器】使用csdn云主机的体验与问题
  7. python3基础系列之六【输入输出file方法】
  8. return 的含义
  9. 计算机编程知识竞赛,程序设计竞赛
  10. java 消息摘要_java – 使用BouncyCastle签名消息摘要