• ベストアンサー

jtableのデータをcsv形式で保存や、csv形式をjtableに表示たいのですが、

今、eclipseを使ってJavaの勉強をしているのですが、 『ファイルを開く』ダイヤログまでは表示することが出来たのですが、 csv形式のファイルを選択し、jtableに表示したり、 jtableに入力したデータをcsv形式で保存をしたいのですが、 どうすれば、出来るのでしょうか? ご指導の程、よろしくお願いいたします。

  • Java
  • 回答数1
  • ありがとう数3

質問者が選んだベストアンサー

  • ベストアンサー
  • salsberry
  • ベストアンサー率69% (495/711)
回答No.1

質問には小文字で書かれていますが、SwingのJTableクラスのことですよね? 「JTableのセルに値を設定したりセルから値を読み出す方法」が分からないのか、「(JTableと関係なく) CSVファイルを読み書きする方法」が分からないのかが区別できていないように感じました。 とりあえず、適当なデータが設定済みのJTableのオブジェクトからCSVっぽく標準出力へ書き出すならこんな感じでしょうか。かなり手抜きのコードなので要注意。 JTable tb = new JTable(); … (tbにデータを設定) … int cols = tb.getColumnCount(); int rows = tb.getRowCount(); for (int i=0; i<rows; i++) { for (int j=0; j<cols; j++) { Object val = tb.getValueAt(i, j); if (val != null) System.out.print("\"" + val + "\""); if (j < cols-1) System.out.print(','); } System.out.println(); } 勉強頑張ってください。

zofiel
質問者

補足

>質問には小文字で書かれていますが、SwingのJTableクラスのことですよね? そうです。言葉足らずで申し訳ありません。 >「JTableのセルに値を設定したりセルから値を読み出す方法」が分からないのか、「(JTableと関係なく) CSVファイルを読み書きする方法」が分からないのかが区別できていないように感じました。 それなんですが、多分その通りだと思います。 説明下手なのですが、 『JTableのセル一つ一つに数値を入力した時、配列みたいに読み出す方法』と、 『JTableのセルに数値を入力してあって、それをCSVファイルとして(例えば、デスクトップとかに)保存したり、その逆にCSVファイルを読み込んでJTableに表示させる』 みたいな(汗 >for (int i=0; i<rows; i++) { >for (int j=0; j<cols; j++) { >Object val = tb.getValueAt(i, j); >if (val != null) >System.out.print("\"" + val + "\""); >if (j < cols-1) >System.out.print(','); >} >System.out.println(); >} JTableのオブジェクトから書き出す方法は理解できました。 あとは、どのようにしてCSVとして保存すれば良いのか。と、 CSVファイルを読み込んでJTableのセル一つ一つに数値を出力する方法 だけだと思います。 >勉強頑張ってください。 頑張ります。

関連するQ&A

  • CSV形式ファイルは編集データは保存されない?

    ダウンロードしたCSVファイルを編集し、初めて保存するときに以下のようなメッセージが出ます、 「(ファイル名)には、CSV(カンマ区切り)と互換性のない機能が含まれている可能性があります。この形式でブックを保存しますか? ・このまま保存するには、[はい]をクリックします。 ・機能を保存するには、[いいえ]をクリックしてから、最新のExcelファイル形式で保存します。 ・失われる可能性がある内容については、[ヘルプ]をクリックしてください。」 「はい」を選択するとCSV形式で保存されるようですが、編集したデータではなく編集前のデータのままで保存されています。 なので「いいえ」を選択すると今度は編集されたデータでExcel形式で保存されます。 つまりCSV形式で編集したものは元データのまま、かつ、同形式でしか保存されないということなのでしょうか?編集したデータを保ちたい場合にはExcel形式でしか保存するしかないのでしょうか?

  • JTableの表からデータ保存等について

    JTableを使って表計算出来るアプリを作りたいなと思ってますが 分からない事だらけで・・・ まずはリファレンスなるものに慣れるのが先決かも判りませんが。 やりたい事は ・セルを使って四則計算がしたい。 ・入力したデータを保存したい。 ネットで検索したりここの過去ログやを見るとどうやら XMLを使うのが手軽みたいですがセルに入力されたデータは どういう風に保存するのでしょうか? XML関連のページを見たりしてJavaでXML文書を操作 出来ると言うのは一応理解してますが、 その処理をどういう風にJTableを使って作れば良いのか 判らないんです。 稚拙な質問かもわかりませんがよろしくお願いします。

  • Excel2007 CSV形式で保存

    こんばんは。 excel2007を利用しています。 他ソフトに取込を行うため、カンマ区切りのcsvにしたいです。 名前を付けて保存⇒その他の形式 と進んで次のダイヤログに画像の選択肢しかありません。 どのようにすればいいでしょうか。 よろしくお願いします!!

  • CSV形式の保存

    ハガキソフトの住所録をCSV形式で保存しました。 保存したファイルを開いて編集して保存しようとすると 「CSVと互換性のない機能が含まれている可能性があります。  このブック形式で保存しますかと聞いて来て  このまま保存~はい  機能を保存 ~いいえ  を選んで最新のファイル形式で保存しなさい。」 と表示されますが、いずれの場合も変更したファイルが保存 されませんが、何か方法がありましたらご指南ください。 宜しくお願いします。

  • CSV形式のデータのデータ変更方法は

     CSV形式のデータを 一部データ変更したいのですが 一部変更したデータを上書き保存したら CSVデータ として認識しないのですが 仕方を指導願います  エクセルで開いて一部変更してCSVで保存しても 駄目でした 又 テキスト形式で変更して CSVで保存しても駄目でした 

  • ExcelファイルをCSV 形式で保存するには?

    ExcelファイルをCSV 形式 (Windows、カンマ区切り) (*.csv)にして書類を提出するように言われたのですが、その方法について教えてください。 データの内容は会社の詳細で、1社につき100項目のデータがあり、それが50社あります。その場合、1社目のデータをA列に、2社目のデータをB列にというように入力すればよいのでしょうか? Excel の [名前を付けて保存] ([ファイル] メニュー) を使って、CSV (カンマ区切り) (*.csv)ファイルで保存すると、各項目がカンマで区切られるのでしょうか? 1レコード目と2レコード目はどういった区切りになるのでしょうか? またファイル形式はCSV 形式でと言うことですが、提出するファイル名の拡張子を.txtとしないといけないのですが、それはどうすればいいのでしょうか?

  • CSV形式にすると出てくる空白を消したいです。

    エクセル形式で、表を作ってCSV形式で保存するのですが、 CSV形式で保存したデータをメモ帳(テキスト形式)で開くと、 エクセル・CSV形式の時には表示されていなかった空白(半角スペース)が出来てしまっています。。。 業務上必要なデータで、項目には半角英数13ケタの数字しか入力してはいけないのですが、 その空白が出来てしまってしまうので、エラー扱いにされてしまいます。 どのようにすればテキスト形式で表示したときにこの空白が生れないように出来るのでしょうか? 宜しくお願い致します。

  • CSVデータの数値の表示

    教えて下さい。 他プログラムからCSVデータ出力したデータを エクセルで表示すると、13桁の数字が9E+12と表示されて しまいます。 セルの書式設定を「数値」に変更すると一時的に数字が表示されるのですが、一度保存して、再度ファイルを開くと戻ってしまいます。 エクセル形式で保存すれば大丈夫なのですが、どうしてもCSVファイルのままで保存したいのです。 CSVデータで13桁の数字を常に表示する方法を教えて下さい。 よろしくお願いします。

  • csv形式データの保存について

    Windows XPでMicorosoft Office Word 2003を使用しています。csv形式で得たデータに色塗りをして保存できません。どうしたらよいか教えて下さい。

  • Web上に表示されたデータをcsvでローカルに落としたい!

    今JavaでWebアプリの開発を行っています。 DBと接続し、データをWeb上に表示させる機能と、 その表示されたものを、csvファイルとしてローカルに保存できるようにしたいのですが、 何かよい方法がありましたら、是非教えてください! データは動的なのでその都度csvファイルの内容も変わってきます。

専門家に質問してみよう