首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将数据从JTable导出到CSV

如何将数据从JTable导出到CSV
EN

Stack Overflow用户
提问于 2010-09-14 22:24:40
回答 4查看 19.2K关注 0票数 2

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

代码语言:javascript
复制
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);
  }
} 

我已经启动了一个新类,只要按下"Export to CSV“按钮,就会调用这个类。我将在稍后的阶段实现按钮侦听器等,现在我想要一些关于如何创建for外观的指针,该外观将遍历列和行以查找其中包含的值。只需注意,JTable将是可伸缩的,当前的JTable仅用于测试目的。我知道有一些API可用,比如Apache one,但是我不愿意使用它们。

代码语言:javascript
复制
package com.alpha;

public class Exporter extends JTableComponent
{

 public changeToCSV(){

 }


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

我在决定构造函数应该接收什么时遇到了麻烦。非常感谢您提前给予的帮助!

EN

Stack Overflow用户

发布于 2017-08-12 02:25:40

我使用下面的方法从JTable中提取csv格式的数据,希望这能对某些人有所帮助

代码语言:javascript
复制
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;
}
票数 4
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3709799

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档