Apache POI – HSLF – テーブルレイアウトを描くには


テーブルレイアウトを描くには、Tableクラスを使用します。


package net.tk_factory.example.apache.poi.hslf;

import java.awt.Color;
import java.io.FileOutputStream;
import java.io.IOException;

import net.tk_factory.example.AbstractExample;
import org.apache.log4j.Logger;
import org.apache.poi.hslf.model.Line;
import org.apache.poi.hslf.model.Slide;
import org.apache.poi.hslf.model.Table;
import org.apache.poi.hslf.model.TableCell;
import org.apache.poi.hslf.model.TextBox;
import org.apache.poi.hslf.usermodel.RichTextRun;
import org.apache.poi.hslf.usermodel.SlideShow;

/**
* Apache POI-HSLFを使用したサンプルプログラムです。
*
* 内容
*

    *
  1. テーブルレイアウトを描きます。
  2. *

*
* @author Takafumi Kondo (TK Factory)
*/
public class ExampleDrawTableLayout extends AbstractExample
{
/** クラス名 */
private static final String CLASS_NAME =
ExampleDrawTableLayout.class.getSimpleName();

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

/** 出力ファイル名 */
private static final String OUT_FILE_NAME =
EXAMPLE_FILE_DIRECTORY + CLASS_NAME + “Out.ppt”;

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

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

FileOutputStream out = null;

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

//プレゼンテーションを生成する
SlideShow ppt = new SlideShow();

//スライドを追加する
Slide slide = ppt.createSlide();

//テーブルレイアウトに表示するデータ
String[][] data =
{
{“INPUT FILE”, “NUMBER OF RECORDS”},
{“Item File”, “11,559”},
{“Vendor File”, “300”},
{“Purchase History File”, “10,000”},
{“Total # of requisitions”, “10,200,038”}
};

//5行2列のテーブルレイアウトを作成する
Table table = new Table(5, 2);
for (int i = 0; i < data.length; i++) { for (int j = 0; j < data[i].length; j++) { TableCell cell = table.getCell(i, j); cell.setText(data[i][j]); RichTextRun rt = cell.getTextRun().getRichTextRuns()[0]; rt.setFontName("Arial"); rt.setFontSize(10); cell.setVerticalAlignment(TextBox.AnchorMiddle); cell.setHorizontalAlignment(TextBox.AlignCenter); } } //テーブルの枠線を設定する Line border = table.createBorder(); border.setLineColor(Color.BLACK); border.setLineWidth(1.0); table.setAllBorders(border); //テーブルのセル幅を設定する table.setColumnWidth(0, 300); table.setColumnWidth(1, 150); slide.addShape(table); table.moveTo(100, 100); //ファイルを保存する out = new FileOutputStream(OUT_FILE_NAME); ppt.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); } } } [/java]

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

関連記事

  1. コメント 0

  1. トラックバック 0

return top