麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

java生成csv文件

2019-11-14 15:39:44
字體:
來源:轉載
供稿:網友

 一、csv文件

  逗號分隔值(Comma-Separated Values,CSV,有時也稱為字符分隔值,因為分隔字符也可以不是逗號),其文件以純文本形式存儲表格數據(數字和文本)。純文本意味著該文件是一個字符序列,不含必須像二進制數字那樣被解讀的數據。CSV文件由任意數目的記錄組成,記錄間以某種換行符分隔;每條記錄由字段組成,字段間的分隔符是其它字符或字符串,最常見的是逗號或制表符。通常,所有記錄都有完全相同的字段序列。
CSV是一種通用的、相對簡單的文件格式,被用戶、商業和科學廣泛應用。最廣泛的應用是在程序之間轉移表格數據,而這些程序本身是在不兼容的格式上進行操作的(往往是私有的和/或無規范的格式)。因為大量程序都支持某種CSV變體,至少是作為一種可選擇的輸入/輸出格式。

“CSV”泛指具有以下特征的任何文件:

  • 純文本,使用某個字符集,比如ASCII、Unicode、EBCDIC或GB2312;
  • 由記錄組成(典型的是每行一條記錄);
  • 每條記錄被分隔符分隔為字段(典型分隔符有逗號、分號或制表符;有時分隔符可以包括可選的空格);
  • 每條記錄都有同樣的字段序列。

二、示例

  相關代碼如下:

  1 package com.test.Excel;  2   3 import java.io.BufferedWriter;  4 import java.io.File;  5 import java.io.FileOutputStream;  6 import java.io.IOException;  7 import java.io.OutputStreamWriter;  8 import java.net.URLEncoder;  9 import java.util.ArrayList; 10 import java.util.Arrays; 11 import java.util.Date; 12 import java.util.List; 13  14 import org.junit.Test; 15  16 /** 17  * 創建CSV文件 18  */ 19 public class CSVCrate { 20  21     /** 22      * 創建CSV文件 23      */ 24     @Test 25     public void createCSV() { 26          27         // 表格頭 28         Object[] head = { "客戶姓名", "證件類型", "日期", }; 29         List<Object> headList = Arrays.asList(head); 30  31         //數據 32         List<List<Object>> dataList = new ArrayList<List<Object>>(); 33         List<Object> rowList = null; 34         for (int i = 0; i < 100; i++) { 35             rowList = new ArrayList<Object>(); 36             rowList.add("張三" + i); 37             rowList.add("263834194" + i); 38             rowList.add(new Date()); 39             dataList.add(rowList); 40         } 41          42         String fileName = "testCSV.csv";//文件名稱 43         String filePath = "c:/test/"; //文件路徑 44          45         File csvFile = null; 46         BufferedWriter csvWtriter = null; 47         try { 48             csvFile = new File(filePath + fileName); 49             File parent = csvFile.getParentFile(); 50             if (parent != null && !parent.exists()) { 51                 parent.mkdirs(); 52             } 53             csvFile.createNewFile(); 54  55             // GB2312使正確讀取分隔符"," 56             csvWtriter = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(csvFile), "GB2312"), 1024); 57              58             //文件下載,使用如下代碼 59 //            response.setContentType("application/csv;charset=gb18030"); 60 //            response.setHeader("Content-disposition", "attachment; filename=" + URLEncoder.encode(fileName, "UTF-8")); 61 //            ServletOutputStream out = response.getOutputStream(); 62 //            csvWtriter = new BufferedWriter(new OutputStreamWriter(out, "GB2312"), 1024); 63              64             int num = headList.size() / 2; 65             StringBuffer buffer = new StringBuffer(); 66             for (int i = 0; i < num; i++) { 67                 buffer.append(" ,"); 68             } 69             csvWtriter.write(buffer.toString() + fileName + buffer.toString()); 70             csvWtriter.newLine(); 71  72             // 寫入文件頭部 73             writeRow(headList, csvWtriter); 74  75             // 寫入文件內容 76             for (List<Object> row : dataList) { 77                 writeRow(row, csvWtriter); 78             } 79             csvWtriter.flush(); 80         } catch (Exception e) { 81             e.PRintStackTrace(); 82         } finally { 83             try { 84                 csvWtriter.close(); 85             } catch (IOException e) { 86                 e.printStackTrace(); 87             } 88         } 89     } 90      91     /** 92      * 寫一行數據 93      * @param row 數據列表 94      * @param csvWriter 95      * @throws IOException 96      */ 97     private static void writeRow(List<Object> row, BufferedWriter csvWriter) throws IOException { 98         for (Object data : row) { 99             StringBuffer sb = new StringBuffer();100             String rowStr = sb.append("/"").append(data).append("/",").toString();101             csvWriter.write(rowStr);102         }103         csvWriter.newLine();104     }105 }

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 热re91久久精品国产99热 | 成人免费网站在线观看视频 | 国产精品999在线观看 | 免费看性xxx高清视频自由 | 深夜免费视频 | 精品人人人人 | 激情久久免费视频 | 国产精品视频yy9299一区 | 摸逼逼视频 | 欧美成人精品不卡视频在线观看 | 欧美色视| 日韩黄a| 护士hd欧美free性xxxx | 最近国产中文字幕 | 免费看黄色三级毛片 | 在线看一区二区三区 | 国产一区二区在线免费观看 | 妇女毛片 | 日韩色视频在线观看 | 202z中文字幕第一页 | jizzzzxxxxx| 一二区成人影院电影网 | 99精品国产一区二区三区 | a黄在线观看 | 精品久久久久久综合日本 | 久久91亚洲精品久久91综合 | 一级毛片在线免费观看视频 | 精品亚洲一区二区三区 | 欧美人的天堂一区二区三区 | 国产精品一区2区3区 | javhdfreejaⅴhd | 久久久久久久久国产 | 大逼逼影院 | 亚洲精品在线观看免费 | 国产精品亚洲综合 | 特级黄毛片| 亚洲一区二区观看播放 | 369看片你懂的小视频在线观看 | 妇子乱av一区二区三区 | 97超级碰碰人国产在线观看 | 91看片王|