java - 将 JTable 保存为文本文件

标签 java swing jtable

我正在保存一个 .txt 和 .doc 文件,其中包含我的 JTable 中的数据。在保存的那一刻,它像在表格中一样布置文本,但由于数据长度不同,它不适合。所以我试图让日期布局如下:

第 1 列名称:第 1 行第 1 列数据

第 2 列名称:第 1 行第 2 列数据

第 3 列名称:第 1 行第 3 列数据

第 4 列名称:第 1 行第 4 列数据

第 1 列名称:第 2 行第 1 列数据

第 2 列名称:第 2 行第 2 列数据

第 3 列名称:第 2 行第 3 列数据

第 4 列名称:第 2 行第 4 列数据

等等

我现在的代码是:

private void saveResultsActionPerformed(ActionEvent evt) {


    int returnVal = fileChooser.showSaveDialog(NewJFrame.this);
    if (returnVal == JFileChooser.APPROVE_OPTION) {
        try {
            File file = fileChooser.getSelectedFile();
            PrintWriter os = new PrintWriter(file);
            os.println("");
            for (int col = 0; col < table.getColumnCount(); col++) {
                os.print(table.getColumnName(col) + "\t");
            }

            os.println("");
            os.println("");

            for (int i = 0; i < table.getRowCount(); i++) {
                for (int j = 0; j < table.getColumnCount(); j++) {
                    os.print(table.getValueAt(i, j).toString() + "\t");

                }
                os.println("");
            }
            os.close();
            System.out.println("Done!");
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}

但请记住,我的每个表格都有不同的列数和行数。 我尝试将列和数据保存在数组中,我觉得这是解决问题的正确方法,但我不知道如何按照我提到的顺序打印它,

最佳答案

算法很简单:

for (int row = 0; row < table.getRowCount(); row++) {
    for (int col = 0; col < table.getColumnCount(); col++) {
        os.print(table.getColumnName(col));
        os.print(": ");
        os.println(table.getValueAt(row, col));
    }
}

关于java - 将 JTable 保存为文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14166269/

相关文章:

java - 是否可以将数组的 ArrayList 添加到文件中?

java - 无法看到 JTextField

java - JTable:单元格中自定义面板中的按钮

java - 为什么我的请求会同时命中两个 Controller ?

java - AsyncTask - 在一个长操作完成时更新进度

java - 如何捕获 "White spaces are required between publicId and systemId."错误

java - "cstdarg file not found"在 Rust 项目的 C 绑定(bind)上运行 jextract 时

java - 维护 JComboBox 大小

java - 重绘方法后无法在 JPanel 上绘图

java - JTable 中 util.Date 的日期编辑器