「POI ライブラリを最新版に入れ替える」に書いたのは間違い。てか、不十分。
poi-3.15.jar だけインポートしたんじゃ駄目やがな。
1.該当プロジェクト上で
右クリックメニュー→[インポート]
2.[一般]→[ファイル・システム]を選択。
「次のディレクトリーから」で、展開した poi-3.15 を指定。(全部チェック)
宛先フォルダーが該当プロジェクトになっていることを確認。
3.「完了」ボタン押下
これで、フォルダごとインポートされる。
4.インポートされた jar ファイルを全て選択して、
右クリックメニュー→[ビルド・パス]→[ビルド・パスに追加]
5.lib の下の jar ファイルも全て選択し、
右クリックメニュー→[ビルド・パス]→[ビルド・パスに追加]
これでいいかな?
まあ、ちゃんとサンプルのプログラムが実行出来て、
こういう画像を貼った Excel シートが作成されたので、バッチリであろう。
ちなみに、テスト用に作ったソースは以下のとおり。
package poiTest;import java.io.FileInputStream;import java.io.FileOutputStream;import org.apache.log4j.net.JMSSink;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 poiTest {private static final String IMAGE_FILE = "C:\\Users\\hogehoge\\img\\kao.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((short) 1);anchor.setRow1(1);HSSFPicture picture = patriarch.createPicture(anchor, pictureIndex);picture.resize();FileOutputStream fileOut = new FileOutputStream(OUTPUT_FILE);wb.write(fileOut);fileOut.close();}}
ご参考まで。
コメントする