亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Java > 正文

Java生成CSV文件實例詳解

2019-11-26 15:28:21
字體:
來源:轉載
供稿:網友

本文實例主要講述了Java生成CSV文件的方法,具體實現步驟如下:

1、新建CSVUtils.java文件:

package com.saicfc.pmpf.internal.manage.utils;import java.io.BufferedWriter;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.io.OutputStreamWriter;import java.net.URLEncoder;import java.util.ArrayList;import java.util.Iterator;import java.util.LinkedHashMap;import java.util.List;import java.util.Map;import javax.servlet.http.HttpServletResponse;import org.apache.commons.beanutils.BeanUtils;/** * 文件操作 */public class CSVUtils {  /**   * 生成為CVS文件    * @param exportData   *       源數據List   * @param map   *       csv文件的列表頭map   * @param outPutPath   *       文件路徑   * @param fileName   *       文件名稱   * @return   */  @SuppressWarnings("rawtypes")  public static File createCSVFile(List exportData, LinkedHashMap map, String outPutPath,                   String fileName) {    File csvFile = null;    BufferedWriter csvFileOutputStream = null;    try {      File file = new File(outPutPath);      if (!file.exists()) {        file.mkdir();      }      //定義文件名格式并創建      csvFile = File.createTempFile(fileName, ".csv", new File(outPutPath));      System.out.println("csvFile:" + csvFile);      // UTF-8使正確讀取分隔符","       csvFileOutputStream = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(        csvFile), "UTF-8"), 1024);      System.out.println("csvFileOutputStream:" + csvFileOutputStream);      // 寫入文件頭部       for (Iterator propertyIterator = map.entrySet().iterator(); propertyIterator.hasNext();) {        java.util.Map.Entry propertyEntry = (java.util.Map.Entry) propertyIterator.next();        csvFileOutputStream          .write(""" + (String) propertyEntry.getValue() != null ? (String) propertyEntry            .getValue() : "" + """);        if (propertyIterator.hasNext()) {          csvFileOutputStream.write(",");        }      }      csvFileOutputStream.newLine();      // 寫入文件內容       for (Iterator iterator = exportData.iterator(); iterator.hasNext();) {        Object row = (Object) iterator.next();        for (Iterator propertyIterator = map.entrySet().iterator(); propertyIterator          .hasNext();) {          java.util.Map.Entry propertyEntry = (java.util.Map.Entry) propertyIterator            .next();          csvFileOutputStream.write((String) BeanUtils.getProperty(row,            (String) propertyEntry.getKey()));          if (propertyIterator.hasNext()) {            csvFileOutputStream.write(",");          }        }        if (iterator.hasNext()) {          csvFileOutputStream.newLine();        }      }      csvFileOutputStream.flush();    } catch (Exception e) {      e.printStackTrace();    } finally {      try {        csvFileOutputStream.close();      } catch (IOException e) {        e.printStackTrace();      }    }    return csvFile;  }  /**   * 下載文件   * @param response   * @param csvFilePath   *       文件路徑   * @param fileName   *       文件名稱   * @throws IOException   */  public static void exportFile(HttpServletResponse response, String csvFilePath, String fileName)                                                  throws IOException {    response.setContentType("application/csv;charset=UTF-8");    response.setHeader("Content-Disposition",      "attachment; filename=" + URLEncoder.encode(fileName, "UTF-8"));    InputStream in = null;    try {      in = new FileInputStream(csvFilePath);      int len = 0;      byte[] buffer = new byte[1024];      response.setCharacterEncoding("UTF-8");      OutputStream out = response.getOutputStream();      while ((len = in.read(buffer)) > 0) {        out.write(new byte[] { (byte) 0xEF, (byte) 0xBB, (byte) 0xBF });        out.write(buffer, 0, len);      }    } catch (FileNotFoundException e) {      System.out.println(e);    } finally {      if (in != null) {        try {          in.close();        } catch (Exception e) {          throw new RuntimeException(e);        }      }    }  }  /**   * 刪除該目錄filePath下的所有文件   * @param filePath   *      文件目錄路徑   */  public static void deleteFiles(String filePath) {    File file = new File(filePath);    if (file.exists()) {      File[] files = file.listFiles();      for (int i = 0; i < files.length; i++) {        if (files[i].isFile()) {          files[i].delete();        }      }    }  }  /**   * 刪除單個文件   * @param filePath   *     文件目錄路徑   * @param fileName   *     文件名稱   */  public static void deleteFile(String filePath, String fileName) {    File file = new File(filePath);    if (file.exists()) {      File[] files = file.listFiles();      for (int i = 0; i < files.length; i++) {        if (files[i].isFile()) {          if (files[i].getName().equals(fileName)) {            files[i].delete();            return;          }        }      }    }  }  /**   * 測試數據   * @param args   */  @SuppressWarnings({ "rawtypes", "unchecked" })  public static void main(String[] args) {    List exportData = new ArrayList<Map>();    Map row1 = new LinkedHashMap<String, String>();    row1.put("1", "11");    row1.put("2", "12");    row1.put("3", "13");    row1.put("4", "14");    exportData.add(row1);    row1 = new LinkedHashMap<String, String>();    row1.put("1", "21");    row1.put("2", "22");    row1.put("3", "23");    row1.put("4", "24");    exportData.add(row1);    LinkedHashMap map = new LinkedHashMap();    map.put("1", "第一列");    map.put("2", "第二列");    map.put("3", "第三列");    map.put("4", "第四列");    String path = "c:/export/";    String fileName = "文件導出";    File file = CSVUtils.createCSVFile(exportData, map, path, fileName);    String fileName2 = file.getName();    System.out.println("文件名稱:" + fileName2);  }}

2、調用createCSVFile方法生成CSV文件

String name = "銀行退款數據";List exportData = new ArrayList();LinkedHashMap datamMap = null;for (Iterator iterator = refundList.iterator(); iterator.hasNext();) {   HashMap map = (HashMap) iterator.next();   datamMap = new LinkedHashMap();   datamMap.put("1", map.get("merOrderId"));   datamMap.put("2",DateUtil.convertDateToString("yyyyMMdd", (Date) map.get("orderTime")));   BigDecimal amount = (BigDecimal) map.get("amount");   String amountString = amount.divide(new BigDecimal(10)).toPlainString();   datamMap.put("3", amountString);   datamMap.put("4", map.get("remark") != null ? map.get("remark") : "");   exportData.add(datamMap);} LinkedHashMap map = new LinkedHashMap(); map.put("1", "訂單號"); map.put("2", "支付日期"); map.put("3", "退貨現金金額(整數金額 單位:分)"); map.put("4", "退貨原因"); File file = CSVUtils.createCSVFile(exportData, map, filePath, name);//生成CSV文件 fileName = file.getName(); CSVUtils.exportFile(response, filePath + fileName, fileName);//下載生成的CSV文件
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
综合网中文字幕| 色婷婷综合久久久久| 亚洲在线一区二区| 综合网日日天干夜夜久久| 精品亚洲va在线va天堂资源站| 96精品视频在线| 亚洲欧美在线播放| 中文字幕精品在线视频| www.欧美精品一二三区| 2019中文字幕全在线观看| 免费不卡欧美自拍视频| 91国产精品电影| 91精品国产自产91精品| 亚洲国产精品电影在线观看| 亚洲成人网在线观看| 一区二区三区四区在线观看视频| 亚洲永久免费观看| 国产亚洲美女精品久久久| 国内精品模特av私拍在线观看| 91精品国产网站| 欧美极品少妇xxxxx| 欧美日韩在线影院| 亚洲精品电影网在线观看| 中文字幕日韩欧美在线视频| 日韩精品一区二区视频| 亚洲电影免费观看高清完整版在线| 久久好看免费视频| 91网站免费观看| 久久精品国产欧美亚洲人人爽| 亚洲自拍偷拍色图| 亚洲一品av免费观看| 久久久久久久久久久av| 精品自在线视频| 久久久av免费| www.久久久久| 欧美第一黄网免费网站| 一本一道久久a久久精品逆3p| 69国产精品成人在线播放| 国模极品一区二区三区| 精品久久久久久亚洲国产300| 超在线视频97| 国产精品狼人色视频一区| 欧美性猛交xxxx免费看久久久| 欧美中文在线字幕| 日本精品va在线观看| 国产精品嫩草影院久久久| 亚洲新中文字幕| 亚洲欧洲美洲在线综合| 91丨九色丨国产在线| 欧美孕妇与黑人孕交| 国产精品美女主播| 在线观看精品自拍私拍| 岛国av一区二区| 欧美一性一乱一交一视频| 在线播放日韩欧美| 国产一区二区三区在线播放免费观看| 欧美肥老妇视频| 亚洲欧洲日产国产网站| 精品综合久久久久久97| 在线播放日韩欧美| 91成人天堂久久成人| 亚洲欧美日本精品| 97视频在线看| 97国产真实伦对白精彩视频8| 国产成人激情小视频| 日韩中文字幕久久| 国产日韩在线观看av| 日韩欧美在线网址| 国产精品久久久久久婷婷天堂| 国产做受69高潮| 国产欧美一区二区三区在线| 国产精品电影在线观看| 国产精品天天狠天天看| 色吧影院999| 久久久电影免费观看完整版| 欧美黄色性视频| 欧美激情区在线播放| 富二代精品短视频| 国模叶桐国产精品一区| 91在线直播亚洲| 欧美日本国产在线| 日韩一级裸体免费视频| 91亚洲国产精品| 2019最新中文字幕| 欧美伊久线香蕉线新在线| 国产精品美女久久久久久免费| 亚洲另类xxxx| 91av在线精品| 欧美精品在线看| 91九色国产视频| 久久精品视频网站| 久久久亚洲天堂| 亚洲男人天堂网| 国产精品久久久久久影视| 日韩免费黄色av| 日韩av理论片| 美女999久久久精品视频| 日韩av一区二区在线观看| 亚洲人成在线播放| 欧美天天综合色影久久精品| 久久综合五月天| www国产亚洲精品久久网站| 最近中文字幕2019免费| 日韩在线中文字| 欧美精品成人在线| 热草久综合在线| 国产日韩欧美日韩大片| 色综合色综合久久综合频道88| 高清欧美性猛交xxxx黑人猛交| 91av视频在线免费观看| 亚洲人成网7777777国产| 国产精品丝袜久久久久久高清| 日韩电影网在线| 性色av一区二区三区在线观看| 精品国产91久久久久久| 国产精品欧美风情| 国产精品入口日韩视频大尺度| 成人午夜小视频| 亚洲免费电影一区| 精品国产拍在线观看| 亚洲性生活视频| 欧美激情在线有限公司| 日韩av电影国产| 国产精品白丝av嫩草影院| 国产精品久久不能| 成人黄色免费在线观看| 日韩免费高清在线观看| 伊人伊成久久人综合网站| 亚洲日韩中文字幕在线播放| 在线一区二区日韩| 国产精品免费一区豆花| 久久99视频免费| 久久视频国产精品免费视频在线| 色综合久久天天综线观看| 国产精品久久久久999| 青青久久av北条麻妃海外网| 91精品免费看| 欧美激情精品在线| 亚洲综合第一页| 亚洲欧美中文字幕| 国产日韩视频在线观看| 91美女片黄在线观看游戏| 91精品国产高清| 亚洲视频在线观看网站| 91最新国产视频| 亚洲免费av电影| 自拍偷拍免费精品| 亚洲色图激情小说| 国产成人久久久| 欧美激情一区二区久久久| 久久精品国产成人精品| 亚洲视频在线观看| 久久天天躁狠狠躁夜夜躁| 亚洲欧美国产视频| 久久影视电视剧免费网站| 日韩专区在线观看| 欧美成年人在线观看| 国产经典一区二区| 欧美激情videoshd| 久热精品视频在线观看一区| 亚洲色图日韩av| 日韩av在线影院| 最近2019中文字幕mv免费看| 国产精品中文字幕在线观看|