Apache POI – ヘッダーを設定するには
ヘッダーを設定するには、HSSFHeaderクラスのsetLeft、setCenter、setRightメソッドを使用します。
また、ヘッダー・フッター内で下線を引くには、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); } } }
関連記事
コメント 0