• 締切済み

POIを使ってのexcel作成について

kaiza00の回答

  • kaiza00
  • ベストアンサー率100% (2/2)
回答No.1

fireworks0さんの方法でうまくいくような気がします。 実際のソースなど貼り付けてもらえるとアドバイスしやすいのですが。。

fireworks0
質問者

お礼

kaiza00さん返信遅れて大変申し訳ありません。 以下、ソースです。 public class ListEXL { // 行番号用の定数、列番号の定数 行変数定義、列変数定義 //createEXL開始 public void createEXL(List list) throws Exception, Exception { //ファイルを読み込みます。 POIFSFileSystem filein = new POIFSFileSystem (new FileInputStream("C:\\sample.xls")); //ワークブックを読み込みます。 HSSFWorkbook wb = new HSSFWorkbook(filein); //シートを読み込みます。 HSSFSheet sheet = wb.getSheet("案2"); //フッターにページを追加 ページ追加処理 //印刷設定   印刷設定 //見出し処理 creatHead(sheet, wb, row_now1 ); int i2 = 0; int arraysize = list.size(); for (int i = 0; i < arraysize; i++) {   wrtei1Info = (Wrtei1Info) list.get(i); // 明細設定 明細をセルへ追加 //次の行へ移動 i2 = i2 + 1; row_now3 += + 1; //1ページ分印刷? if(i2 >= 47){ row_now1 = row_now3 + 3; row_now3 += + 3; i2 = 0; //見出し処理 creatHead(sheet, wb, row_now1); row_now3 += + 2; } } //読み込んだexcelを別名で作成している。 出力処理 } 見出し出力メソッド }

fireworks0
質問者

補足

補足説明で投稿すれば良かったんですね。 お礼で投稿したら1000文字では入り切れませんでした。 上記ソースの見出し部分メソッドです。 public void creatHead(HSSFSheet sheet,HSSFWorkbook wb, int row_now1){ //帳票タイトル sheet.addMergedRegion(new Region(row_now1, (short)1,   row_now1, (short)10)); //行オブジェクトの作成 HSSFRow row0 = sheet.getRow(row_now1); row0 = sheet.createRow(row_now1); //列オブジェクトの作成 HSSFCell cell00 = row0.getCell((short)1); cell00 = row0.createCell((short)1); //エンコード設定 cell00.setEncoding(HSSFCell.ENCODING_UTF_16); //帳票タイトル設定 cell00.setCellValue("excel一覧-poi版"); HSSFCellStyle style22 = wb.createCellStyle(); HSSFFont font00 = wb.createFont(); style22.setFont(font00); cell00.setCellStyle(style22); } こんな感じのソースです。 質問にも書きましたが、1ページ分のexcelのひな形を作成しており、それを1ページ分の明細印刷後に実行されるメソッドcreatHead」で「次ページにひな形貼り付け明細印刷」の繰り返しで出来ないかと思っております。どうすればひな形を2ページ移行に貼り付けられるでしょうか。よろしくお願いします。

関連するQ&A

  • POIを使った書式設定

    度々、POIを使ったExcel出力で質問です 書式設定で通貨記号ありのフォーマットを指定したいのですが Excelに「\」記号で書式設定した後に POIで書式を取得したところ ($#,##_):($#,##) ←うろ覚えです(汗 の形式で取得できました 同じように、他のセルに対してPOIで設定したところ 通貨記号が「$」で表示されてしまいました Excelの書式設定画面を見ると、  使用する通貨記号の設定 だけ、別で指定するようになっています。 POIで通貨記号を設定する方法を教えてください。

    • ベストアンサー
    • Java
  • jakarta poiを使用し、EXCELの行コピーはできないのでしょうか?

    以下のような処理を検討しています。 フォーマット.xlsには、タイトル行の雛型(背景色などを定義済)をを作成しておきます。 そのフォーマット.xlsをpoiを利用し読み込み、 ■タイトル行 ・明細 ・明細 ・明細 ■タイトル行 ・明細 ・明細 の要領でタイトル行を何度もコピーし、新しいエクセルを出力したいと考えています。 HSSFSheet#shiftRowsは完全なる移動のようですので、 何度もタイトル行を使う場合には不都合がでてしまいます。 単純な行コピーなのでできそうな感じもするのですが、 ご存じな方いらっしゃいましたら、 ご教授いただけますようお願いいたします。

    • ベストアンサー
    • Java
  • 【Apache POI】Excelの枠線を消す方法

    いつもお世話になっております。 Apache POIを使用して、シート全体の範囲でExcelシートの枠線を消す方法を教えてください。 セルひとつひとつに書式を設定するのではなく、全体で設定したいです。 ちなみに環境は以下を使用しています。 情報に不足があればお問い合わせください。よろしくお願いします。 【環境】 Excel : 2002 SP3 java : 6.0

    • ベストアンサー
    • Java
  • 【JAVA】POIを使用してExcelの書式を設定する方法

    POIを使用してExcelの書式設定を行いたいんですが、 下記の書式設定は可能なのでしょうか? ●セルの書式設定-配置の「折り返して全体を表示する」 可能であれば、設定方法等を教えて下さい。宜しくお願いします。

  • Excel VBAを利用して宛名シール作成について

    VBA初心者です。 仕事で、宛名シールを使って、商品が入っている箱に貼り付けるシールを作ることになり、 勉強を兼ねてVBAで試作中です。 【1枚目シート 明細】 メーカー 商品名 数量 トヨタ カローラ 1 ホンダ シビック 2 【2枚目シート 書式】 既製品の宛名シールに合うように、Excelでセルを調整済み (縦3・横3で1件分のシール。これを縦7件・横2件、合計14件分を作成) <やろうと思っていること> (1)明細シート1行毎、書式シートの1件分のセルに転記(これはマクロの記録で出来ました) (2)書式シート、14件分埋まったら、印刷をする。 (3)書式シートに転記済みのデータを全て消去(これは自力で出来そうです) (4)15件目から同じことを繰り返す。 (5)明細シートのデータ最終行までいったら、転記終了。 ※明細データ数は、毎回変わる。 (2)~(5)の流れを、どのようにコードにしたら良いか、見当がつきません。 Doで繰り返すのかなとも思ったのですが、途中で印刷とデータ消去を挟むとなると、 どうなるんだろう???と、止まってしまいました。 フリーソフトやラベル印刷ウィザードで対応することも考えましたが、 使う人のことを考えたら、VBAでボタン一つで終わるようにしたいと思っています。 文章での表現で、理解しずらいかもしれませんが、取っ掛かりとなるヒントでも 教えて頂きたいです。 よろしくお願いします。

  • JavaからExcelを起動させ、CSVファイルを印刷させたい

    javaで作成した(DBからの)抽出データをCSVファイルへ保存しています。このCSVファイルを画面(jsp)よりsubmitボタンのキックでExcelへ読み込ませ、(出来れば既に存在するシートへ貼り付け、)印刷を実施。終了後、画面への復帰を検討しています。 どうやらjakartaプロジェクトのPOIを利用すればExcelの操作は出来そうなのですが、既にCSV化されたデータ読込み印刷のみ行うにはどうすればよいでしょうか。  因みに使用するExcelは2002です。 POIについては2.5.1でインストールを準備中ですが、バージョン等による相性の考慮についてもお教え頂ければ幸いです。

  • エクセルの印刷機能

    エクセル2000を使っています。 エクセルでは印刷する時に1ページに2ページ分印刷することは出来ないのですか? 行が多いデータになってしまい、2ページ分を1つの紙で印刷できるようになるとうれしいのですが。 教えてください。

  • POIのHSSFを用いたエクセルでのフォント指定について

    POIのHSSFについてお教えください。 JDK1.5.0_12 / poi-3.0.2を使用しています。 フォントは、デフォルトでは "Arial" なので、セル毎に"MS 明朝"を指定すると、初めはMS明朝に変更できたのですが、そのうち"表示形式を追加できません。" とエクセルに表示され、エクセルが開けなくなりました。調べると、ブックに含まれるセルの書式の組み合わせが約 4,000 を超える場合に発生し、すべてのセルに同じフォントを使用すると、書式設定の組み合わせ数が減少するとのこと。HSSFで、デフォルトのフォントをワークブックまたはシート指定で直接変更することはできるのでしょうか。 下記が、今回のコードの一部です。 HSSFWorkbook wb = new HSSFWorkbook(); HSSFFont font1 = wb.createFont(); font1.setFontName("MS 明朝"); を指定し、以下を、行毎に、セルの数だけ(CellPositionを変動)繰り返しました。 HSSFCell cell = row.createCell((short)CellPosition); HSSFCellStyle style1 = wb.createCellStyle(); style1.setFont(font1); cell.setCellStyle(style1); 宜しくお願い致します。

    • ベストアンサー
    • Java
  • エクセルでプレビューすると途切れる?

    エクセル2000で住所録を作っています。100件で5ページ程の表なのですが、文字の大きさや列の幅を変えているうちに印刷プレビューで見ると途中のページ(3ページ目だけとか)が5行くらしか表示されず、実際印刷してみても、そのページだけが5行だけ印刷され、次のデータの頭は次のページに移っています。(ただしデータは消えていません)。プレビューを閉じると点線でその部分だけ5行で囲まれています。印刷範囲のクリアをしても解決出来ません。どうすればいいでしょうか?

  • エクセル・印刷

    エクセルで行のタイトルを設定した表を作成しました。印刷時、ページが変わっても、タイトルが先頭行に印刷されます。データが増えるたびに必要な箇所に行を挿入してきました。ある日、タイトル行プラス1行しか印刷されないページが発生しました。プレビューで確認しても、そのページは1行のみで、次の行から次ページになっています。どうしたら、連続して印刷できるでしょう。