导出类的代码如下:
public class ExcelExporter {
/**导出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();
}
}
给按钮添加事件,按钮监听事件的代码如下:
//导出
//导出按钮事件
public void btnExportEvent() {
btnExport.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
jButtonActionPerformed(e);
}
});
}
private void jButtonActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:导出
FileDialog fd = new FileDialog(this, "保存工资信息", FileDialog.SAVE);
try {
fd.setIconImage(ImageIO.read(new File("src/image/icon.png")));
} catch (IOException e) {
e.printStackTrace();
}
fd.setLocation(500, 350);
fd.setVisible(true);
String stringfile = fd.getDirectory()+fd.getFile()+".xls";
try {
ExcelExporter export = new ExcelExporter();
export.exportTable(salTable, new File(stringfile));
} catch (IOException ex) {
ex.printStackTrace();
}
}
导出界面如图:
查看生成的表格: