java swing 导出Jtable里面的数据到excel

不废话了,直接贴代码
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
import javax.swing.table.*;
public class ExcelExporter  {
    public ExcelExporter() { }
    public void exportTable(JTable table, File file) throws IOException {
        TableModel model = table.getModel();
        FileWriter out = new FileWriter(file);
        
        for(int i=0; i < model.getColumnCount(); i++) {
            out.write(model.getColumnName(i) + "/t");
        }
        out.write("/n");
        for(int i=0; i< model.getRowCount(); i++) {
            for(int j=0; j < model.getColumnCount(); j++) {
                out.write(model.getValueAt(i,j).toString()+"/t");
            }
            out.write("/n");
        }
        out.close();
        System.out.println("write out to: " + file);
    }
    
    
    public static void main(String[] args) {
        String[][] data = {
            { "Housewares",  "$1275.00" },
            { "Pets",         "$125.00" },
            { "Electronics", "$2533.00" },
            { "Mensware",     "$497.00" }
        };
        String[] headers = { "Department", "Daily Revenue" };

        JFrame frame = new JFrame("JTable to Excel Hack");
        DefaultTableModel model = new DefaultTableModel(data,headers);
        final JTable table = new JTable(model);
        JScrollPane scroll = new JScrollPane(table);

        JButton export = new JButton("Export");
        export.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                try {
                    ExcelExporter exp = new ExcelExporter();
                    exp.exportTable(table, new File("results.xls"));
                } catch (IOException ex) {
                    System.out.println(ex.getMessage());
                    ex.printStackTrace();
                }
            }
        });

        frame.getContentPane().add("Center",scroll);
        frame.getContentPane().add("South",export);
        frame.pack();
        frame.setVisible(true);
    }
}

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 15
    评论
大家好,我是陈亮,JAVA数据按指定格式导出EXCEL和从EXCEL读相关的内容视频教程1,把poi-2.5.1-final-20040804.jar复制到jdk的classpath下,我这里用的插件是POI我已打好在包中。。我这里JDK装到C:\jdk1.5.0_05\lib 就复制到这里。。先看我演示。。。先演示写出到EXCEL 看到了吧。。。。再演示读EXCEL 这里我是把bb.xls 里面的name:后面的读出来,以及age:后面的读出来。。。看。。。改一下name:后面之后再读...这里文件改为bbc.xls用JCreator方便一点,,所以没用jbuilder OK看到了吧。。。。我再讲解代码写出我已解啦,,,再说读入。。。代码就是这样,,谢谢。。。希望可以和大家共同学习。。。我的msn:[email protected] qq:50143539再见...代码在包里。。读入 import org.apache.poi.hssf.usermodel.*;import org.apache.poi.poifs.filesystem.*;import java.io.*;import java.awt.*;import javax.swing.*;import java.awt.event.*;public class read implements ActionListener{JFrame frame; JLabel label1,label2; JTextField tf1,tf2; JButton bu; JPanel panel; public read() { frame=new JFrame("aaaa"); panel=new JPanel(); label1=new JLabel("姓名:"); tf1=new JTextField(10); label2=new JLabel("年龄:"); tf2=new JTextField(10); bu=new JButton("导入"); panel.add(label1); panel.add(tf1); panel.add(label2); panel.add(tf2); panel.add(bu); frame.getContentPane().add(panel); bu.addActionListener(this); frame.setSize(400,400); frame.show(); } /** * @param args */ public static void main(String args[]) { new read(); } public void actionPerformed(ActionEvent e) { if (e.getSource()==bu) { try { // TODO Auto-generated method stub FileInputStream filein=new FileInputStream("bb.xls"); POIFSFileSystem fs=new POIFSFileSystem(filein); HSSFWorkbook wb=new HSSFWorkbook(fs);// POIFSFileSystem fs=new POIFSFileSystem(new Fi
Java语言中,我们可以使用Apache POI库来将JTable中的数据导出Excel中。 首先,需在项目中添加Apache POI库的依赖。然后,我们可以通过以下步骤实现导出操作: 1. 创建一个Workbook对象,代表整个Excel文件。 2. 创建一个Sheet对象,代表Excel文件中的一个表格。 3. 根据JTable的行数和列数,在Sheet对象上创建相应数量的行和列。 4. 使用循环将JTable中的数据逐行逐列地写入到Excel表格中。 5. 最后,使用FileOutputStream将Workbook对象中的内容写入到磁盘上的Excel文件中。 以下是一个简单的示例代码,实现了将JTable中的数据导出Excel文件的操作: ```java import java.io.FileOutputStream; import javax.swing.JTable; import org.apache.poi.ss.usermodel.*; public class ExportToExcel { public static void export(JTable table, String filePath) { Workbook workbook = WorkbookFactory.create(true); // 创建一个Workbook对象 Sheet sheet = workbook.createSheet(); // 创建一个Sheet对象 for (int row = 0; row < table.getRowCount(); row++) { Row sheetRow = sheet.createRow(row); // 创建行 for (int col = 0; col < table.getColumnCount(); col++) { Cell cell = sheetRow.createCell(col); // 创建单元格 Object value = table.getValueAt(row, col); if (value != null) { cell.setCellValue(value.toString()); // 设置单元格的值 } } } try { FileOutputStream fileOut = new FileOutputStream(filePath); workbook.write(fileOut); // 将Workbook对象中的内容写入到Excel文件中 fileOut.close(); workbook.close(); System.out.println("导出成功!"); } catch (Exception e) { e.printStackTrace(); System.out.println("导出失败!"); } } } ``` 你只需调用`export`方法,并传入你的JTable对象和指定的输出文件路径,即可将JTable中的数据导出Excel文件中。 希望以上内容能对你有所帮助!如有疑问,请随时追问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值