【发布时间】:2020-04-24 21:46:17
【问题描述】:
我使用 OpenCSV jar 将 JTable 数据写入 CSV 文件。除非从表数据中读取数据,否则一切正常。每当我选择第一行时,它都能完美运行。但是当我选择不止一行时,它会给出标题中提到的异常。
下面是代码:
DefaultTableModel tableModel = (DefaultTableModel) jTable1.getModel();
int rows = Integer.parseInt((String)jTextField8.getText());
String fileName = jTextField11.getText()+".csv";
File file = new File("/Users/startelelogic/Desktop/fileName");
if (jTable1.isEditing()){
jTable1.getCellEditor().stopCellEditing();
}
try{
FileWriter outputFile = new FileWriter(fileName);
CSVWriter writer = new CSVWriter(outputFile);
// Adding Header to csv File
String header[] = {"Sr. No.","CM","Liters"};
writer.writeNext(header);
// Adding data to csv
System.out.println("Rows \t:"+rows);
for(int i=0; i<rows; i++){
String[] data = new String[3];
for(int j=0; j< tableModel.getColumnCount(); j++){
data[j] = (String)tableModel.getValueAt(i, j);
}
writer.writeNext(data);
writer.close();
}
JOptionPane.showMessageDialog(null, "Table Data Written successfully!");
}catch(IOException ex){
JOptionPane.showMessageDialog(null, "FileWriting error");
ex.printStackTrace();
}
【问题讨论】: