2016-09-23 148 views
0

試圖將csv文件導入我的Jtable而不使用CSV閱讀器。任何建議如何解決這個問題?將CSV文件導入到JTable中

table = new JTable(); 
     table.setModel(new DefaultTableModel(
      new Object[][] { 
      }, 
      new String[] { 
       "ID", "Country", "Status", "Person" 
      } 
     )); 
     scrollPane.setViewportView(table); 

    } 
+2

看到這個答案,http://stackoverflow.com/questions/5543540/importing-a-csv-file-into-a-java-swing-表 –

+0

想要嘗試沒有CSV閱讀器或任何軟件包 –

回答

0

嘗試這樣:

import java.io.BufferedReader; 
import java.io.File; 
import java.io.FileReader; 
import java.util.ArrayList; 
import java.util.List; 

import javax.swing.JTable; 
import javax.swing.table.DefaultTableModel; 

public class Test { 

    public Test() { 
     try { 

      BufferedReader br = new BufferedReader(new FileReader(new File("C:\\usr\\test.csv"))); 
      List<String[]> elements = new ArrayList<String[]>(); 
      String line = null; 
      while((line = br.readLine())!=null) { 
       String[] splitted = line.split(";"); 
       elements.add(splitted); 
      } 
      br.close(); 

      JTable table = new JTable(); 
      String[] columNames = new String[] { 
        "ID", "Country", "Status", "Person" 
       }; 

      Object[][] content = new Object[elements.size()][4]; 

      for(int i=0; i<elements.size(); i++) { 
       content[i][0] = elements.get(i)[0]; 
       content[i][1] = elements.get(i)[1]; 
       content[i][2] = elements.get(i)[2]; 
       content[i][3] = elements.get(i)[3]; 
      } 

      table.setModel(new DefaultTableModel(content,columNames)); 

      System.out.println(table.getModel().getValueAt(1, 1)); 

     } catch (Exception ex) { 
      ex.printStackTrace(); 
     } 



    } 

    public static void main(String[] args) { 
     new Test(); 
    } 
} 
+0

在這一行上得到一個錯誤列表 elements = new ArrayList (); –

+0

你可以發佈錯誤嗎?你用什麼java版本? – freefall

+0

管理修復它:),但由於某種原因得到文件錯誤java.io.FileNotFoundException:test.csv(系統找不到指定的文件) –