• ベストアンサー

java 出力されたexcelを並べ替え

お世話になっております。 現在javaでexcelを出力するプログラムを組んでおります。 excelには無造作に1列目に一桁の数字が入って行きます。 行数はこちらで指定しているのですが、その出力されたものをプログラム上で自動的に昇順に並べ替えてくれるプログラムはあるのでしょうか? excelで並べ替えれば早いことなのですが、javaの方から実行できないかと考えております。 調べても出てこなかったのでお知恵をいただければと思います。 よろしくお願いします。

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

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

  • ベストアンサー
  • teketon
  • ベストアンサー率65% (141/215)
回答No.2

TreeSet、TreeMapとComparatorではダメなんですか?

doborn
質問者

お礼

ご回答ありがとうございます。 調べてみました。 Comparatorを使うとプログラム上ではソートをしてくれるのですよね? 好きな数字を1文字入力し、OKボタンを押してくれるプログラムがあるとします。 Aさんがプログラム起動で、[5]と入力しボタンを押すとExcelの1行目に5が挿入されます。 続いてBさんがプログラム起動で[3]と入力しボタンを押すとExcelの2行目に3が挿入されます。 出力されたExcelファイルを開くと上から5、3と並んでいるのが普通だと思いますが、 Excelファイルを開くと3、5と並んでいるようにしてくれる処理を追加したいと思っております。 宜しくお願いいたします。

その他の回答 (2)

  • teketon
  • ベストアンサー率65% (141/215)
回答No.3

>Comparatorを使うとプログラム上ではソートをしてくれるのですよね? そうです。 >行数はこちらで指定しているのですが、その出力されたものをプログラム上で自動的に昇順に >並べ替えてくれるプログラムはあるのでしょうか? という質問に対して、TreeSetやComparatorがありますと言う回答です。 >宜しくお願いします 何をよろしくして欲しいのか、さっぱりわかりません。

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

> excelで並べ替えれば早いことなのですが あらかじめjava側で並べ替えてからEXCEL出力すれば?

doborn
質問者

お礼

回答いただきありがとうございます。 ちょっと言葉足らずでした。 各行にある数字は一度に書き込まれたものではなく、1回ずつ出力されたものになります。 1行目に任意の数字(2)が入っていた場合 2行目に任意の数字をいれて行き、ボタンが押される度に出力されていきます。 これを都度都度並べ替えしてくれればと思ってます。

関連するQ&A

  • エクセルで同列から同じ数字を探したい

    エクセルで1列に5桁の数字が並んでます。その中に同じ数字があるかどうかを関数、または他の方法で探しだすことはできますか? 今は昇順に並び替えて目で探してます。

  • Java 出力 桁数調整

    Java初心者です。 JAVAのSytem.out.printの出力の際、 double型の数字の桁数(小数点以下何桁まで表示するか)を調整したいのですが、どのようにやればいいのかわかりません。 教えてください。 あまり詳しくないのでライブラリ等から探す探し方ではなく、 具体的なやりかたを教えてください。 <for emaxple> class warizan{ public static void main(String[] args){ double i=0.0; i = 1/3; System.out.println(i); } } をコンパイルして実行すると出力が 0.33333333333333333333333... となると思うんですが、 0.33 など、小数点以下二桁で出力する方法。 また、よければ大きい数字の桁数調整のやり方も 教えていただけるとうれしいです。 123456789 → 123000000

    • ベストアンサー
    • Java
  • エクセルシートのセルに3桁と4桁の数字を・・

    エクセルシートのセルに3桁と4桁の数字を入れたいのですが、 000とか、 001 とか、 0850 などです。 現在、 0とか 1 とか 850 になっています。 おそらく、数字情報のデータになっていると思います。 それぞれ、0で始まる3桁、4桁の文字列にしたいのですが、 よろしくお願いします。行数は30000行ほどあります。

  • エクセル2003でcsv出力をしました。

    エクセル2003でcsv出力をしました。 抽出前のデータは19桁で、抽出後の数字も17桁ですが、なぜか下3桁が000となってしまいます。 試しに、抽出前のデータを参考に下3桁を打ち込みましたが、enterを押すと000に戻ってしまいます。 また、19桁の頭に'を付けるとenterを押しても修正できました。 なぜ自動的に下3桁が000になるのか?修正してもそのままでは000になってしまうのか? また、抽出前のデータがそのまま反映できないのか教えてください。 ちなみに、マクロをチェックしましたが、何も入っていないようです。

  • javaによる、Excelへの帳票出力について

    お世話になります。現在javaによるシステム開発に従事しております。 環境は以下を想定しています。 OS:Windows XP IDE:eclipse 3.3 LANG:jdk 1.6 DB:postgres8.3 FW:Seasar2.4 そこで一点質問がございます。 javaでエクセルベースの帳票に、グラフ等のデザインを出力するといった 要件を抱えています。そこで、エクセルへの出力に利用できるフリーの ツールやApi等、何か利用できるものはありませんか? インターネットで調べたところ、POI等のツールがあるようですが、 実際何がいいのかよくわかりません。 フルスクラッチでの開発の予定です。 若輩者ですが、何卒ご尽力お願いいたします。

    • ベストアンサー
    • Java
  • Javaのjxlを使用してExcelの書式設定

    Javaでプログラムを作成していますが、JXLを使用してExcelに出力する際、1列の全行の書式を設定したいと考えています。 どなたか書式を設定する方法をお教えください。 よろしくお願いいたします。

  • オブジェクト指向なJavaプログラムとは?

     Javaで,キーボードから入力した8桁の文字列を出力するというプログラムを作成したい,8桁の文字列に対して,checkを行い文字列が未入力だとエラーが投げられる。  また,02345334,のように1文字目が0だとエラーが投げられ, 文字列が9桁や7桁になってもエラーが投げられるというプログラムを 継承、オーバーロード、オーバーライドを使って作成したい。 (文字列に入力する文字は全角英数字でも半角英数字でも出力されるようにする。 例: 1a2B3C4d )  まず,NyuryokuMainというメインクラスを作り,キーボードから入力した文字を出力するというプログラミング。  次に,NyuryokuCheckクラスでboolean型で文字列が未入力かどうかをif文で判別し,次に与えられた文字列が8桁以内かをboolean型で判別する。までを、NyuryokuCheckクラスで行い、  SubNyuryokuCheckクラスでNyuryokuCheckを継承し,8桁の文字列の1桁目が0かをbooleanで判別する。  というような,プログラムを作りたいのですが,どのようにしたらよいかわかりません。よいサンプルなどがあったら教えてください!

  • java FTPサーバーへファイルの保存

    お世話になっております、現在eclipseのjavaでエクセルを出力されるプログラムを作成しております。 このjavaで作成したものは誰でも起動し、エクセルを出力できるようになっています。 (Aさんがこのプログラムを起動し、エクセル出力をした、その次にBさんがこのプログラムを起動しエクセルを出力した場合には「Aさんの出力したエクセルファイルに上書き」がされるようになっています) 最初はDropboxの中に保存するようにしようと思ったのですが、各々のパソコンによってDropboxのある場所が違っている為(CドライブだったりDドライブだったり・・・) そこで調べたところFTPサーバーへの保存が一番確実性があるのではないかということでした。 FTPサーバーへのファイル保存を調べてみましたが、どうしたらよいのか全く分からず、お手上げ状態です。 FTPサーバーへのExcelファイル保存方法が紹介しているサイトや回答者様のお知恵を頂ければと思います。 どうぞよろしくお願いいたします。

    • ベストアンサー
    • Java
  • エクセル2013 範囲を取得して並べ替え

    A列2行目から9桁の同じ数字が入力されています。 同じ数字が入力されている行数は、いつも同じではありません。 A列の同じ数字の範囲を認識して G列で 「数値に見えるものはすべて数値として並べ替えを行う」で並べ替えを エクセルのマクロで教えてください。 例 A2からA4まで 123456789 の同じ数字 G2からG4まで 1-2-3や2-1-2や2-奥-1など・・・ A5からA6まで 147258369 の同じ数字 G6からG6まで 1-2-3や3-3-3など・・・ 入力されている行数は常に可変です。 途中、空白は存在しません。 宜しくお願いします。

  • 配列のファイルへの出力について

    fortranでできるファイルへの配列の出力をJAVAでどのようにプログラムするか教えて頂きたいと思います。 2次元配列a(i,j)の出力はfortranでは以下のようなプログラムになります。 open(10,.省略...) ファイルを指定して開く do j=1,ny                ループj   write(10,'(100f10.3)') (a(i,j),i=1,nx) ループi+書き出し enddo                  ループjの最後尾  close(10)                ファイルを閉じる 100f10.3というのは小数点3桁の実数で10カラムで表現したものが100個並ぶという意味です。これと同じことをやるJAVAプログラムを教えて頂きたいのですが。私の手元にある本にはやり方が載っていません。 JAVAにはfortranのような数字のカラムを指定するようなフォーマットの調整などできるのでしょうか。よろしくお願いします。 この質問は、C言語について以前質問したものですQNo.3590702。 JAVAだったらどうなるだろうと思ってお尋ねしています。

    • ベストアンサー
    • Java

専門家に質問してみよう