最近の更新

2012年5月12日土曜日

Apache POI3.8で画像を埋め込む方法(成功)

【目的】
Apache POI3.8のライブラリでExcelに画像を埋め込みます。



【手順】
1.「Javaプロジェクトの作成方法」の手順で、「POIExcelSample010-InsertImage」といプロジェクトを作成。
2.「poi-3.8-20120326.jarをライブラリに設定する方法」の手順で、プロジェクトに「poi-3.8-20120326.jar」のライブラリを追加。
3.「poi-3.8-20120326.jarに依存するライブラリの設定する方法」の手順で、プロジェクトに「commons-logging-1.1.jar」と「log4j-1.2.13.jar」のライブラリを追加。
4.「poi-3.8-20120326.jarに依存するCodec1.5の設定方法」の手順で、プロジェクトに「commons-codec-1.5.jar」のライブラリを追加。
5.「Javaクラスファイルの作成方法」の手順で、「Main」というクラスを作成。
6.「Main.java」を以下の様に入力。
import java.io.FileInputStream;
import java.io.FileOutputStream;

import org.apache.poi.hssf.usermodel.HSSFClientAnchor;
import org.apache.poi.hssf.usermodel.HSSFCreationHelper;
import org.apache.poi.hssf.usermodel.HSSFPatriarch;
import org.apache.poi.hssf.usermodel.HSSFPicture;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.util.IOUtils;

public class Main {
    private static final String IMAGE_FILE = "poi-image.jpg";
    private static final String OUTPUT_FILE = "InsertImage.xls";

    public static void main(String[] args) throws Exception {
        HSSFWorkbook wb = new HSSFWorkbook();
        HSSFSheet sheet = wb.createSheet("new sheet");

        FileInputStream inputImage = new FileInputStream(IMAGE_FILE);
        byte[] bytes = IOUtils.toByteArray(inputImage);
        int pictureIndex = wb.addPicture(bytes, HSSFWorkbook.PICTURE_TYPE_JPEG);
        inputImage.close();

        HSSFCreationHelper helper = (HSSFCreationHelper) wb.getCreationHelper();
        HSSFPatriarch patriarch = sheet.createDrawingPatriarch();
        HSSFClientAnchor anchor = helper.createClientAnchor();
        anchor.setCol1(1);
        anchor.setRow1(1);

        HSSFPicture picture = patriarch.createPicture(anchor, pictureIndex);
        picture.resize();
        FileOutputStream fileOut = new FileOutputStream(OUTPUT_FILE);
        wb.write(fileOut);
        fileOut.close();
    }
}
7.「Ctrl+Shift+O」を押し、パッケージのインポート文を補完。
8.「Ctrl+Shift+F」を押し、ソースコードをフォーマッティング。
9.「poi-image.jpg」をコピーし、「POIExcelSample010-InsertImage」プロジェクトを選択して「Ctrl+V」で貼り付け。
10.「Javaプロジェクトの実行方法」の手順で、「Main.java」を実行。
11.コンソールにエラーが出力されていないか確認。
(※コンソールが表示されていない場合は、「コンソール・ビューの表示方法」を確認)
12.「リフレッシュ(ローカルファイルとの同期)の方法」の手順で、プロジェクトをリフレッシュ。
13.「POIExcelSample010-InsertImage/InsertImage.xls」が作成されています。
14.「POIExcelSample010-InsertImage/InsertImage.xls」をダブルクリック。
15.「InsertImage.xls」が以下の様に開けば成功です。













































以上です。

0 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。

関連記事