将csv导入JTable

我有一个csv文件,我想将它导入JTable。

是否有一个简单的示例显示如何将csv文件导入JTable?

使用OpenCSV:

CSVReader reader = new CSVReader(new FileReader("yourfile.csv")); List myEntries = reader.readAll(); JTable table = new JTable(myEntries.toArray()); 

最后一个答案对我不起作用,因为JTable想要一个Object [] []和一个String [](列名)…我必须做这样的事情:

 import com.opencsv.CSVReader; import java.util.List; import javax.swing.table.DefaultTableModel; import javax.swing.JTable; import java.io.FileReader; Object[] columnnames; transient CSVReader CSVFileReader; CSVFileReader = new CSVReader(new FileReader(csvFile)); List myEntries = CSVFileReader.readAll(); columnnames = (String[]) myEntries.get(0); DefaultTableModel tableModel = new DefaultTableModel(columnnames, myEntries.size()-1); int rowcount = tableModel.getRowCount(); for (int x = 0; x0) { for (String thiscellvalue : (String[])myEntries.get(x)) { tableModel.setValueAt(thiscellvalue, x-1, columnnumber); columnnumber++; } } } JTable MyJTable = new JTable(tableModel); 

此外,如果要在数据中保留反斜杠字符,请将其用作构造函数:

 CSVFileReader = new CSVReader(new FileReader(csvFile), ',', '"', '\0'); 

这将“\ 0”设置为转义字符。 我认为将逃避角色置之不理。 请参阅此主题: java中的opencsv忽略字段值中的反斜杠