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