Rambler's Top100

А Б В Г Д Е Ж З И К Л М Н О П Р С Т У Ф Х Ц Ч Ш Э Ю Я

Все примеры | Примеры по пакетам

Запись таблицы в файл csv


//Запись таблицы в файл csv
//(Comma separated values (CSV), RFC 4180 )
//Внести новые данные в ячейки таблицы и сохранить в файле.
package csv;

import java.awt.event.*;
import java.io.FileOutputStream;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.util.Vector;
import javax.swing.*;
import javax.swing.table.DefaultTableModel;

public class csvTable1 {
    static DefaultTableModel dtm;
    static String[] tableData;
    static Vector rowData=new Vector();
    //Вектор, представляющий строку таблицы
    static Vector< Vector> rows = new Vector< Vector>();
    //Вектор векторов, хранящий всю таблицу
    static Vector columns = new Vector();
    static String tableString="";
public static String writeToFile(String filename, String strPage ){
    PrintWriter writer = null;
try {


    writer = new PrintWriter(new OutputStreamWriter(
            new FileOutputStream(filename), "utf-8"));
           writer.write(strPage);
            writer.close();
        } catch (Exception ex) {
        }
return strPage;
}
 public static Action action = new AbstractAction("Добавить строку") {
        public void actionPerformed(ActionEvent evt) {
            rowData=new Vector();
             rowData.add(" ");
             rowData.add(" ");
             rowData.add(" ");
             rows.add(rowData);
            String strPage = "";
             System.out.println("rows "+rows);
           dtm.fireTableDataChanged();

        }
    };
 public static Action action1 = new AbstractAction("Записать в файл") {
        public void actionPerformed(ActionEvent evt) {
            String str=new String();
             for(int i=0;i< rows.size();i++){
                 str=null;
                 str="";
                 for(int j=0;j< rows.get(i).size();j++){
                     if(!str.equals("")){
                         str=str+", "+rows.get(i).get(j).toString();
                     }
                     else{
                         str=rows.get(i).get(j).toString();
                     }
                 }
                 str=str+" CRLF"+"\n";
                 tableString=tableString+str;             
             }
      System.out.println("rows "+tableString);
      writeToFile("/mydir/csv1.txt", tableString);

        }
    };
    private static void createAndShowGUI() {

        Vector row = new Vector();
        row.add( "a1" );
        row.add( "b1" );
        row.add( "c1" );
        rows.add( row );

        row = new Vector();
        row.add( "a2" );
        row.add( "b2" );
        row.add( "c2" );
        rows.add( row );


        columns.add ( "a" );
        columns.add ( "b" );
        columns.add ( "c" );
        dtm = new DefaultTableModel(rows, columns);
       JFrame frame = new JFrame(
             "Таблица из файла csv (Comma separated values (CSV), RFC 4180 )"
                );
        JPanel jp=new JPanel();
        JPanel jp1=new JPanel();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        JTable jtb=new JTable(dtm);
        JButton jb=new JButton(action);
        JButton jb1=new JButton(action1);
        jb.setText("Добавить строку");
        jb1.setText("Записать в файл");
         Box box = new Box(BoxLayout.X_AXIS);
         jp1.add(jb);
         jp1.add(jb1);
         jp.add(jtb);
        box.add(jp);
        box.add(jp1);

       

         frame.getContentPane().add(box);
         frame.setSize(500, 333);
         frame.setVisible(true);
    }

    public static void main(String[] args) {
        javax.swing.SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                createAndShowGUI();
            }
        });
    }
}

10.02.2009


Файл к примеру: Таблица из файла csv
Rambler's Top100


Ассоциативные ссылки