首页 > 解决方案 > 从使用 RowSorter 排序的 jtable 中获取行

问题描述

实际上我可以导出为 excel,但它导出整个 JTable 而不是使用 Rowsorter 排序的数据,我尝试了类似但没有任何改变:

DefaultTableModel tableModel;
try {
    RowSorter<? extends TableModel> rowSorter = model.getjTable1().getRowSorter();
    TableModel tableModel = rowSorter.getModel();
} catch (NullPointerException ne) {
    tableModel = (DefaultTableModel) model.getjTable1().getModel();

}

关于我的 jtable 的第二个重要事项,实际上我只能选择 1 行,我将无法更改它。

我的问题是,我怎样才能只从 RowSorter 获取排序的行?

我需要以编程方式排序吗?我可以从我的 jtable 中获取可见的行吗?

标签: javaswingjtabletablerowsorterhssfworkbook

解决方案


但它导出整个 JTable 而不是排序的数据

TableModel 中的数据不会改变。

只有 JTable(视图)中显示的数据会发生变化。

如果您只想要表中的数据,那么您只需使用 JTable 的方法来访问数据。

就像是:

for (int row = 0; row < table.getRowCount(); row++)
    for (int column = 0; column < tagle.getColumnCount(); column++)
        System.out.println( table.getValueAt(row, column);

推荐阅读