jtable数据插入到excel

时间:2017-04-05 05:14:50

标签: java jtable

任何人都知道如何使用java开发这个程序从jtable am向现有excel文件插入数据,我的场景是这样的,jtable数据插入到excel但是excel已经有了设计和公式。我不知道如何启动它所以我问问题。谢谢你的提示。

2 个答案:

答案 0 :(得分:2)

Excel对其原生.xls文件使用复杂的格式,但它也支持其他格式。我使用Tab-Separated Values(TSV),它通常用于将信息从数据库程序传输到电子表格。

您可以使用以下代码从Jtable中提取数据并将其导出为Excel。

public void toExcel(JTable table, File file) {

try {
    TableModel model = table.getModel();
    FileWriter excel = new FileWriter(file);

    for (int i = 0; i < model.getColumnCount(); i++) {
        excel.write(model.getColumnName(i) + "\t");
    }

    excel.write("\n");

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

    excel.close();

} catch (IOException e) {
    System.out.println(e);
  }
}

答案 1 :(得分:1)

首先,您需要从JTable中提取数据。你这个方法:

public Object[][] getTableData (JTable table) {
    DefaultTableModel dtm = (DefaultTableModel) table.getModel();
    int nRow = dtm.getRowCount(), nCol = dtm.getColumnCount();
    Object[][] tableData = new Object[nRow][nCol];
    for (int i = 0 ; i < nRow ; i++)
        for (int j = 0 ; j < nCol ; j++)
            tableData[i][j] = dtm.getValueAt(i,j);
    return tableData;
}

现在有了数据,您可以使用apache poi将它们附加到excel文件中。以下是教程http://poi.apache.org/spreadsheet/quick-guide.html

相关问题