如何从 JTable 保存到 CSV 或 Excel?

Loo*_*oth 5 java csv swing jtable export-to-csv

有没有办法将JTable数据保存到excel中?我想将从程序、表中输入的数据保存到 CSV 文件中。

我希望有一个按钮可以将 GUI 中输入的数据保存到表中,然后保存到 CSV 文件中。

Ars*_*der 2

这可能对您有帮助:-

写入 csv 文件的方法。

public static void exportToCSV(JTable table,
        String path) {

    try {

        TableModel model = table.getModel();
        FileWriter csv = new FileWriter(new File(path));

        for (int i = 0; i < model.getColumnCount(); i++) {
            csv.write(model.getColumnName(i) + ",");
        }

        csv.write("\n");

        for (int i = 0; i < model.getRowCount(); i++) {
            for (int j = 0; j < model.getColumnCount(); j++) {
                csv.write(model.getValueAt(i, j).toString() + ",");
            }
            csv.write("\n");
        }

        csv.close();
    } catch (IOException e) {
       System.out.println("Error "+e);
    }
}
Run Code Online (Sandbox Code Playgroud)

要读取它并将其显示到 JTable,您可以使用OpenCSV

CSVReader reader = new CSVReader(new FileReader("file.csv")); 
List list = reader.readAll();
JTable table = new JTable(list.toArray());
Run Code Online (Sandbox Code Playgroud)

  • 我会谨慎地以这种方式编写 CSV,因为任何包含“,”的文本都会破坏它。我只是鼓励使用 OpenCSV 来编写它 (4认同)