0

我正在使用 Poi Apache 生成一个 excel 文件,我必须将图片添加到我的文件中,但问题是当我将项目导出到 Runnable Jar 时,它不起作用。

InputStream is = ExcelTools.class.getClassLoader().getResourceAsStream( "./ensao/pfa/opendelib/resources/LogoOpen.jpg" );

    byte[] bytes = IOUtils.toByteArray(is);
    int pictureIdx = wb.addPicture(bytes, Workbook.PICTURE_TYPE_JPEG);
    is.close();

    Drawing drawing = sheet.createDrawingPatriarch();
    HSSFClientAnchor anchor = new HSSFClientAnchor(40, 10, 65, 20,
            (short) 0, 0, (short) 0, 0);
    anchor.setAnchorType(1);

    Picture pict = drawing.createPicture(anchor, pictureIdx);
    pict.resize();

问题是从这一行发起的:

byte[] bytes = IOUtils.toByteArray(is);
4

1 回答 1

1

图像路径错误的问题。您的 IDE 以一种方式配置环境($CLASSPATH、文件路径等),但实际运行在其他环境中。要找到您的工作目录,请打印调试密码模拟。

此链接可能有用: http ://www.java-forums.org/new-java/434-how-can-i-get-current-directory.html http://www.mkyong.com/java/how -to-get-the-current-working-directory-in-java/ 在 Java 中获取当前工作目录

于 2013-07-24T05:52:31.367 回答