重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

最近javaを始めたのですが、POIを使ってexcelデータも作成することになりました。
それでexcelで書式を作ってjava(POI)にて既存の書式を読み込み、読み込んだ書式を使用してデータ(明細行)を追加していこうと思っています。その際に使用するexcelの書式は印刷するページ数分定義が必要なのでしょうか?
個人的には1ページ分の書式を定義し、明細印刷時に次ページになったら
既存の書式を次ページに貼り付けての繰り返しだと思っていたのですが、どうもうまくいきません。
ご存じの方がいましたらよろしくお願いします。

A 回答 (1件)

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ページ移行に貼り付けられるでしょうか。よろしくお願いします。

補足日時:2007/04/03 10:19
    • good
    • 0
この回答へのお礼

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を別名で作成している。
出力処理
}
見出し出力メソッド
}

お礼日時:2007/04/03 10:18

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!