如何将 JTable 中的数据导出到 CSV

2024-05-11

我只是在启动一些代码从 JTable 中提取值时遇到问题,以便最终可以将它们作为 CSV 文件在 Excel 上查看。目前我有一个使用以下代码创建的 JTable:

package com.alpha;

import javax.swing.*;
import java.awt.*;

public class JTableComponent{
  public static void main(String[] args) 
{
    new JTableComponent();
  }

  public JTableComponent(){
    JFrame frame = new JFrame("Whiteboard Test");
    JPanel panel = new JPanel();
    String data[][] = {{"Company A","1000","1"},{"Company B","2000","2"},
     {"Company C","3000","3"},{"Company D","4000","4"}};

      String col[] = {"Company Name","Shares","Price"};
    JTable table = new JTable(data,col);
    panel.add(table,BorderLayout.CENTER);

    frame.add(panel);
    frame.setSize(300,200);
    frame.setVisible(true);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
} 

我已经开始了一个新类,每当按下“导出到 CSV”按钮时就会调用该类。我将在稍后阶段实现按钮侦听器等,现在我想要一些有关如何创建 for 外观的指导,该外观将遍历列和行以查找其中包含的值。请注意,JTable 将是可扩展的,当前的 JTable 仅用于测试目的。我知道有可用的 API,例如 Apache,但我不想使用它们。

package com.alpha;

public class Exporter extends JTableComponent
{

 public changeToCSV(){

 }


 public changeToCSV()
 {
   for(int j = 0; j < table.getColumnCount(); j++) {
 }
}

我无法确定构造函数应该收到什么。非常感谢您提前的帮助!


我使用以下方法从 JTable 中提取 csv 数据,希望这对某人有帮助

public static boolean exportToCSV(JTable tableToExport,
        String pathToExportTo) {

    try {

        TableModel model = tableToExport.getModel();
        FileWriter csv = new FileWriter(new File(pathToExportTo));

        for (int i = 0; i < model.getColumnCount(); i++) {
            csv.write(model.getColumnName(i) + ",");
        }

        csv.write("\n");

        for (int i = 0; i < model.getRowCount(); i++) {
            for (int j = 0; j < model.getColumnCount(); j++) {
                csv.write(model.getValueAt(i, j).toString() + ",");
            }
            csv.write("\n");
        }

        csv.close();
        return true;
    } catch (IOException e) {
        e.printStackTrace();
    }
    return false;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将 JTable 中的数据导出到 CSV 的相关文章

随机推荐