1

就像标题所暗示的那样,我正在寻找一种将带有数据的 jtable 导出到.csv file. 我不是在寻找其他选择CSV,因为这CSV是我的程序的要求。

我一直在研究某些东西,比如bindyputapache.camel我找不到足够的信息来了解如何使用它。

推荐什么?如果有人有一个很好的例子,bindy我也不介意。

友好的问候,

技能线圈

4

3 回答 3

2

是这样的:

    public void writeCSVfile(JTable table) throws IOException, ClassNotFoundException, SQLException{
        Writer writer = null;
        DefaultTableModel dtm = (DefaultTableModel) table.getModel();
        int nRow = dtm.getRowCount();
        int nCol = dtm.getColumnCount();
        try {
            writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("file.txt"), "utf-8"));

            //write the header information
            StringBuffer bufferHeader = new StringBuffer();
            for (int j = 0; j < nCol; j++) {
                bufferHeader.append(dtm.getColumnName(j));
                if (j!=nCol) bufferHeader.append(", ");
            }
            writer.write(bufferHeader.toString() + "\r\n");

           //write row information
            for (int i = 0 ; i < nRow ; i++){
                 StringBuffer buffer = new StringBuffer();
                for (int j = 0 ; j < nCol ; j++){
                    buffer.append(dtm.getValueAt(i,j));
                    if (j!=nCol) buffer.append(", ");
                }
                writer.write(buffer.toString() + "\r\n");
            }
        } finally {
              writer.close();
        }
    }
于 2013-08-26T00:55:43.533 回答
1

您可以使用apache poi从 JTable 生成 Excel 文件,然后使用此处的代码Converting XLS to CSV files Using Java to export XLS file to CSV file。

我其实是用这种方式生成CSV文件的

于 2013-05-08T09:52:14.227 回答
0

一个小的for循环怎么样?TableModel 提供所有必需的数据,例如行数、列数和数据。

于 2013-05-08T09:26:19.473 回答