这两天在做一个项目,涉及JTable的很多知识。
这里提供将Jtable数据导出为 Excel 表格的一种方法,欢迎大家多提意见。
JTable示例
Java代码
所调用方法
其中第一个参数为JTable名称,第二个参数为保存路径。
/**导出JTable到excel */
public void exportTable(JTable table, File file) throws IOException {
TableModel model = table.getModel();
BufferedWriter bWriter = new BufferedWriter(new FileWriter(file));
for(int i=0; i < model.getColumnCount(); i++) {
bWriter.write(model.getColumnName(i));
bWriter.write("\t");
}
bWriter.newLine();
for(int i=0; i< model.getRowCount(); i++) {
for(int j=0; j < model.getColumnCount(); j++) {
bWriter.write(model.getValueAt(i,j).toString());
bWriter.write("\t");
}
bWriter.newLine();
}
bWriter.close();
System.out.println("write out to: " + file);
}
为【导出】按钮添加如下监听器
这样,就可以将Excel表格保存至硬盘中的任意位置
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:导出
FileDialog fd = new FileDialog(this, "保存流水记录", FileDialog.SAVE);
fd.setLocation(400, 250);
fd.setVisible(true);
String stringfile = fd.getDirectory()+fd.getFile()+".xls";
try {
OrderDAO oDao = new OrderDAO();
oDao.exportTable(jTable1, new File(stringfile));
} catch (IOException ex) {
System.out.println(ex.getMessage());
ex.printStackTrace();
}
}