4

Apache POI (バージョン 3.7) を使用して Excel ワークブックに画像を挿入する際に問題があります。これが私のコードです:

private static void createAndFillWorkbook() {
    FileOutputStream out = null;
    FileInputStream in = null;
    try {
        HSSFWorkbook workbook = new HSSFWorkbook();
        File picture = new File("D:\\pngPict.png");
        byte[] buf = new byte[(int) picture.length()];
        in = new FileInputStream(picture);
        in.read(buf);
        workbook.addPicture(buf, Workbook.PICTURE_TYPE_PNG);
        out = new FileOutputStream("D:\\Book3.xls");
        workbook.write(out);
    } catch (Exception e) {
    } finally {
        try {
            if (out != null) {
                out.close();
            }
            if (in != null) {
                in.close();
            }
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    }
}

動作していません (私は .xls ファイル形式を使用しています)。理由がわかりません。

4

1 に答える 1

4

主な問題は、Apache poi addPictureapi が apache 共通コーデックに依存していることです。commons-codec-1.6この場所http://commons.apache.org/codec/download_codec.cgiから jar をダウンロード し、クラス パスに jar を配置します。

それは動作するはずです。Excel に画像を追加するサンプル例も試してください。

http://poi.apache.org/spreadsheet/quick-guide.html#Images

ここにもサンプルの作業コードがあります

http://www.codemiles.com/java/image-insert-in-excel-file-using-poi-t1340.html

お役に立てれば !!

于 2012-04-08T09:16:36.997 に答える