java操作csv文件相關代碼

y37f 9年前發布 | 2K 次閱讀 Java

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
/*
 

  • JAVA 操作 excel 文檔中的 .csv文件格式 */ public class CsvOperateUtil { private String filename = null;

    private BufferedReader bufferedreader = null;

    private List list =new ArrayList();

    public CsvOperateUtil() {

    }

    public static void main(String[] args) throws IOException { CsvOperateUtil test = new CsvOperateUtil(); test.testRun("C:/file2/B_F_DEP_SAE_CB_ACCT_TMP.csv"); }

    public CsvOperateUtil(String filename) throws IOException{
    this.filename = filename; bufferedreader = new BufferedReader(new FileReader(filename)); String stemp; while((stemp = bufferedreader.readLine()) != null){

      list.add(stemp);
    

    } }

    public List getList() throws IOException { return list; }

    public int getRowNum(){ return list.size(); }

    public int getColNum(){ if(!list.toString().equals("[]")) {

      if(list.get(0).toString().indexOf(",")>0) {
          return list.get(0).toString().split(",").length;
      }else if(list.get(0).toString().trim().length() != 0) {
          return 1;
      }else{
          return 0;
      }
    

    }else{

      return 0;
    

    } }

    public String getRow(int index) { if (this.list.size() != 0)

      return (String) list.get(index);
    

    else

      return null;
    

    }

    public String getCol(int index){ if (this.getColNum() == 0){

      return null;
    

    } StringBuffer scol = new StringBuffer(); String temp = null; int colnum = this.getColNum(); if (colnum > 1){

      for (Iterator it = list.iterator(); it.hasNext();) {
          temp = it.next().toString();
          scol = scol.append(temp.split(",")[index] + ",");
      }
    

    }else{

          for (Iterator it = list.iterator(); it.hasNext();) {
          temp = it.next().toString();
          scol = scol.append(temp + ",");
      }
    

    } String str=new String(scol.toString()); str = str.substring(0, str.length() - 1); return str; }

    public String getString(int row, int col) { String temp = null; int colnum = this.getColNum(); if(colnum > 1){

      temp = list.get(row).toString().split(",")[col];
    

    }else if(colnum == 1) {

      temp = list.get(row).toString();
    

    }else{

      temp = null;
    

    } return temp; }

    public void CsvClose() throws IOException { this.bufferedreader.close(); }

    public void testRun(String filename) throws IOException { CsvOperateUtil cu = new CsvOperateUtil(filename);

    for(int i=0;i<cu.getRowNum();i++){

      String ID = cu.getString(i,0);//得到第i行.第一列的數據.
      String CODE = cu.getString(i,1);;//得到第i行.第二列的數據.
      String NAME = cu.getString(i,2);;
      String TEL = cu.getString(i,3);;
    
      System.out.println("===ID:"+ID);
      System.out.println("===CODE:"+CODE);
      System.out.println("===NAME:"+NAME);
      System.out.println("===TEL:"+TEL);
      System.out.println(" ");
    

    }

    cu.CsvClose(); } }</pre>

 本文由用戶 y37f 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!