Java IO操作之将Jtable数据导出为Excel表格

这两天在做一个项目,涉及JTable的很多知识。

这里提供将Jtable数据导出为 Excel 表格的一种方法,欢迎大家多提意见。

JTable示例

Java代码

所调用方法

其中第一个参数为JTable名称,第二个参数为保存路径。
[java][/java]

view plaincopy

  1. /**导出JTable到excel */
  2.    public void exportTable(JTable table, File file) throws IOException {
  3.        TableModel model = table.getModel();
  4.        BufferedWriter bWriter = new BufferedWriter(new FileWriter(file));
  5.        for(int i=0; i < model.getColumnCount(); i++) {
  6.            bWriter.write(model.getColumnName(i));
  7.            bWriter.write(“\t”);
  8.        }
  9.        bWriter.newLine();
  10.        for(int i=0; i< model.getRowCount(); i++) {
  11.            for(int j=0; j < model.getColumnCount(); j++) {
  12.                bWriter.write(model.getValueAt(i,j).toString());
  13.                bWriter.write(“\t”);
  14.            }
  15.            bWriter.newLine();
  16.        }
  17.        bWriter.close();
  18.        System.out.println(“write out to: ” + file);
  19.    }

为【导出】按钮添加如下监听器

这样,就可以将Excel表格保存至硬盘中的任意位置
[java][/java]

view plaincopy

  1. private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
  2.     // TODO add your handling code here:导出
  3.      FileDialog fd = new FileDialog(this, “保存流水记录”, FileDialog.SAVE);
  4.      fd.setLocation(400, 250);
  5.      fd.setVisible(true);
  6.      String stringfile = fd.getDirectory()+fd.getFile()+”.xls”;
  7.         try {
  8.          OrderDAO oDao = new OrderDAO();
  9.          oDao.exportTable(jTable1, new File(stringfile));
  10.         } catch (IOException ex) {
  11.             System.out.println(ex.getMessage());
  12.             ex.printStackTrace();
  13.         }
  14. }

效果图

选择保存路径

excel表格

标签

发表评论

评论已关闭。

评论列表(2)

  • 彭才广

    2014.3.29 14:03

    OrderDAO oDao = new OrderDAO();
    oDao.exportTable(jTable1, new File(stringfile));
    请问OrderDAO是什么?虚心求解

    • NX

      2014.5.8 19:05

      楼上,Dao你都不知道吗?好好学习吧。