格式化 html 文件中的 JTable 数据

Formatting JTable data on an html file

我有一个 JTable 和一个 JButton。我想将 JTable 数据保存到 HTML 文件中。

这是执行此操作的部分代码:

else if (ae.getSource().equals(save)) {
            try {
                try (BufferedWriter bw = new BufferedWriter(new FileWriter("C:\Users\nationch\Desktop\table.html", true))) {
                    for (int col = 0; col < table.getColumnCount(); col++) {
                        bw.write(table.getColumnName(col));
                        bw.write("\t");
                    }

                    for (int i = 0; i < table.getRowCount(); i++) {
                        bw.newLine();
                        for (int j = 0; j < table.getColumnCount(); j++) {
                            bw.write((String) (table.getValueAt(i, j)));
                            bw.write("\t");
                        }
                    }
                }
            } catch (IOException ex) {
                Logger.getLogger(jtable.class.getName()).log(Level.SEVERE, null, ex);
            }
        }

该代码对于文本文件工作正常。正在保存数据,如下面粗体所示 姓名
民族奇拉拉 比尔·汤普森
贝茨查理

当我删除 .txt 并将其替换为 .html 时,如此处所示

 new BufferedWriter(new FileWriter("C:\Users\nationch\Desktop\table.html", true)))

除格式化外,代码工作正常。数据格式如下

名字姓氏国家 Chirara Bill Thompson Bates Charlie

我们如何将其格式化为文本文件的第一个输出?

给定一个 JTable table,使用它来生成一个朴素的 HTML table 到 bw:

TableModel model = table.getModel();
bw.write("<table>");
for(int r=0;r<model.getRowCount();++r) {
    bw.write("<tr>");
    for(int c=0;c<model.getColumnCount();++c) {
        bw.write("<td>");
        bw.write(model.getValueAt(r,c).toString());
        bw.write("</td>");
    }
}
bw.write("</table>");