博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【Java】使用CSVUtils生成文件并供下载
阅读量:7098 次
发布时间:2019-06-28

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

1 package com.msk.ds.logic; 2  3 import java.io.*; 4 import java.util.List; 5  6 /** 7  * Created by Administrator on 2016/5/4. 8  */ 9 public class CSVUtils {10 11     public static File createCSVFile(List head, List
> dataList, String outPutPath, String filename) {12 File csvFile = null;13 BufferedWriter csvWtriter = null;14 try {15 csvFile = new File(outPutPath + File.separator + filename + ".csv");16 File parent = csvFile.getParentFile();17 if (parent != null && !parent.exists()) {18 parent.mkdirs();19 }20 csvFile.createNewFile();21 22 // GB2312使正确读取分隔符","23 csvWtriter = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(24 csvFile), "UTF-8"), 1024);25 // 写入文件头部26 writeRow(head, csvWtriter);27 28 // 写入文件内容29 for (List row : dataList) {30 writeRow(row, csvWtriter);31 }32 csvWtriter.flush();33 } catch (Exception e) {34 e.printStackTrace();35 } finally {36 try {37 csvWtriter.close();38 } catch (IOException e) {39 e.printStackTrace();40 }41 }42 return csvFile;43 }44 45 46 /**47 * 写一行数据方法48 *49 * @param row50 * @param csvWriter51 * @throws IOException52 */53 private static void writeRow(List row, BufferedWriter csvWriter) throws IOException {54 // 写入文件头部55 for (Object data : row) {56 StringBuffer sb = new StringBuffer();57 String rowStr = sb.append("\"").append(data).append("\",").toString();58 csvWriter.write(rowStr);59 }60 csvWriter.newLine();61 }62 }

 

 

 

1 /** 2      * 导出CSV数据 3      * @return 数据 4      */ 5     @RequestMapping(value = "dataExport",method = RequestMethod.POST) 6     public @ResponseBody int dataExport(HttpServletResponse response) throws IOException{ 7         List
list=sc182211Logic.findDataExport(); 8 // 设置表格头 9 Object[] head = {"任务编码", "操作码", "阅读码", "品牌名", "等级名"};10 List
headList = Arrays.asList(head);11 // 设置数据12 List
> dataList = new ArrayList
>();13 List rowList = null;14 for (int i = 0; i < list.size(); i++) {15 rowList = new ArrayList();16 rowList.add(list.get(i).getPrintTaskId());17 rowList.add(list.get(i).getOperateBar());18 rowList.add(list.get(i).getReadBar());19 rowList.add(list.get(i).getBrandName());20 rowList.add(list.get(i).getGradeName());21 dataList.add(rowList);22 }23 String downloadFilePath ="D:/test";24 String fileName = "标签列表";25 // 导出CSV文件26 CSVUtils.createCSVFile(headList, dataList, downloadFilePath, fileName);27 28 29 30 response.setHeader("Content-Disposition", "attachment;filename="31 + "liq.csv");32 response.setContentType("application/csv;charset=GBK");33 34 File file = new File("D:/test/标签列表.csv");35 InputStream in = new FileInputStream(file);36 int len = 0;37 byte bytes[] = new byte[1024 * 8];38 while ((len = in.read(bytes)) != -1) {39 response.getOutputStream().write(bytes, 0, len);40 }41 in.close();// 关闭流 ....42 43 return NumberConst.IntDef.INT_ONE;44 }

 

转载于:https://www.cnblogs.com/dflmg/p/5465348.html

你可能感兴趣的文章
HttpWebRequest的常见错误使用TcpClient可避免
查看>>
报表技术
查看>>
java基础---多线程---volatile详解
查看>>
eclipse中tomcat启动成功,浏览器访问失败
查看>>
中文乱码(Python、WEB、ajax)
查看>>
mysql 开发进阶篇系列 43 逻辑备份与恢复(mysqldump 的基于时间和位置的不完全恢复)...
查看>>
Go开发之路 -- 流程控制
查看>>
bootstrap:按钮下拉菜单
查看>>
git diff命令
查看>>
LeetCode:Climbing Stairs(DP)
查看>>
STC12C5A60S2笔记7(定时器)
查看>>
[HNOI2004]宠物收养场 BZOJ1208 splay tree
查看>>
mysql超时机制
查看>>
复习java基础第一天
查看>>
程序后台服务启动,MongoDB未启动(启动较慢)/(关机重启情况下)。
查看>>
数据库系统阶段特点
查看>>
假期演练1-3
查看>>
梦断代码读后感
查看>>
jdbc的配置及jdbc连接常用数据库(mysql、sqlserver、Oracle)
查看>>
java获取程序执行时间
查看>>