Apache POI – ヘッダーを設定するには


ヘッダーを設定するには、HSSFHeaderクラスのsetLeftsetCentersetRightメソッドを使用します。

また、ヘッダー・フッター内で下線を引くには、HeaderFooterクラスのstartUnderlineメソッドとendUnderlineメソッドで下線を引く文字列を囲み、
二重下線を引くには、HeaderFooterクラスのstartDoubleUnderlineメソッドとendDoubleUnderlineメソッドで二重下線を引く文字列を囲み、
太字にするには、HeaderFooterクラスのstartBoldメソッドとendBoldメソッドで太字にする文字列を囲みます。

フォントを変更したり、斜体にするには、HeaderFooterクラスのfontメソッドを、
フォントサイズを変更するには、HeaderFooterクラスのfontSizeメソッドを使用します。

日付(フォーマットはyyyy/mm/dd)を表示させるには、HeaderFooterクラスのdateメソッドを、
時間(フォーマットはhh:mm)を表示させるには、HeaderFooterクラスのtimeメソッドを使用します。

package net.tk_factory.sample.apache.poi.sheet;

import java.io.FileOutputStream;
import java.io.IOException;
import net.tk_factory.sample.AbstractSample;
import org.apache.log4j.Logger;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFHeader;
import org.apache.poi.hssf.usermodel.HSSFRichTextString;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;

/**
 * Apache POI-HSSFを使用したサンプルプログラムです。<br/>
 * <br/>
 * <b>内容</b>
 * <ol type="1">
 * <li>ヘッダーを設定します。</li>
 * </ol>
 * @author Takafumi Kondo (TK Factory)
 */
public class SampleSetHeader extends AbstractSample
{
    /** クラス名 */
    private static final String CLASS_NAME =
        SampleSetHeader.class.getSimpleName();

    /** ロガー */
    private static final Logger LOGGER =
        Logger.getLogger(SampleSetHeader.class.getName());

    /** 出力ファイル名 */
    private static final String OUT_FILE_NAME =
        SAMPLE_FILE_DIRECTORY + CLASS_NAME + "Out.xls";

    /**
     * SampleSetHeaderオブジェクトを構築すると、
     * UnsupportedOperationExceptionがスローされます。<br/>
     */
    protected SampleSetHeader()
    {
        throw new UnsupportedOperationException();
    }

    /**
     * mainメソッドです。<br/>
     *
     * @param args 引数
     */
    public static void main(String[] args)
    {
        LOGGER.info("[START]" + CLASS_NAME);

        FileOutputStream out = null;

        try
        {
            //すでに出力ファイルが存在している場合は削除する
            deleteExistsFile(OUT_FILE_NAME);

            //ワークブックを生成する
            HSSFWorkbook workbook = new HSSFWorkbook();

            //シートを追加する
            HSSFSheet sheet = workbook.createSheet();

            //ヘッダーを設定する
            HSSFHeader header = sheet.getHeader();
            //・ヘッダー(左側):下線,斜体
            header.setLeft(HSSFHeader.startUnderline() +
                    HSSFHeader.font("MS ゴシック", "Italic") +
                    "斜体" +
                    HSSFHeader.endUnderline());
            //・ヘッダー(中央部):フォントサイズ(16pt),二重下線,太字
            header.setCenter(HSSFHeader.fontSize((short)16) +
                    HSSFHeader.startDoubleUnderline() +
                    HSSFHeader.startBold() +
                    "太字" +
                    HSSFHeader.endBold() +
                    HSSFHeader.endDoubleUnderline());
            //・ヘッダー(右側):日付,時間
            header.setRight("印刷日付:" +
                    HSSFHeader.date() +
                    " " +
                    HSSFHeader.time());

            //行を追加する
            HSSFRow row1 = sheet.createRow(1);

            //セルを追加する
            HSSFCell cell1 = row1.createCell(1);
            cell1.setCellValue(new HSSFRichTextString("テスト1"));

            //行を追加する
            HSSFRow row10 = sheet.createRow(10);

            //セルを追加する
            HSSFCell cell10 = row10.createCell(10);
            cell10.setCellValue(new HSSFRichTextString("テスト10"));

            //ファイルを保存する
            out = new FileOutputStream(OUT_FILE_NAME);
            workbook.write(out);
        }
        catch (IOException ioex)
        {
            LOGGER.error(getStackTrace(ioex));
        }
        finally
        {
            try
            {
                if (out != null)
                {
                    out.close();
                }
            }
            catch (IOException ioex)
            {
                LOGGER.error(getStackTrace(ioex));
            }

            LOGGER.info("[E N D]" + CLASS_NAME);
        }
    }
}

作成されたファイルを開くと、以下のように表示されます。
SampleSetHeaderOut.xls

SampleSetHeaderOut.xls(ページ設定)

SampleSetHeaderOut.xls(ヘッダー)

関連記事

  1. コメント 0

  1. トラックバック 0

return top