当前位置: 首页 > 知识库问答 >
问题:

Apache POI“addPicture”方法对我不起作用

王彭薄
2023-03-14
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);
        }
    }
}

共有1个答案

栾越
2023-03-14

主要问题是Apache poiAddPictureapi依赖于Apache公共编解码器。从http://commons.Apache.org/code/download_codec.cgi这个位置下载jarcommons-codec-1.6,并将jar放在类路径中。

应该管用。同时尝试向Excel添加图片的示例

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

这里还有一个示例工作代码

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

希望这能有所帮助!!

 类似资料:
  • 问题内容: 我试图从Android手机上按本机后退按钮时取消CountDownTimer。因此,我想覆盖onBackPressed方法,以取消计时器并返回到另一个活动,但只能执行一次。(返回主活动,如主页按钮)。 这是代码的一部分: 问题答案: onBackPressed应该在主活动类中 还尝试在应用的清单文件中指定父项和子项活动,例如 并尝试使用类似的东西并重建您的应用程序 如果仍然无法正常运行

  • 问题内容: 我试图用例如值替换指定的模式 这将返回找到模式的行。例如,这是得到的测试返回值之一 这是$$ test $$ 我遇到的问题是当我执行以下操作时 没发生什么事。我想念什么?有关更多信息, 所以我想做的就是每当遇到“ $$ test $$”时,它将用“替换”替换它。我没有发现“ $$ test $$”的问题,但是由于某种原因没有取代它。 问题答案: 您 正在 将back的结果分配给变量,对

  • 我需要父键和它的子键来表示RecycerView中的纬度和经度列表。我想我需要对中的中的做一些事情,但是不管做什么,我都做不对。 我目前循环所有的父键和它的子键作为它的许多父键,并将它添加到列表中... JSON结构: 纬度和经度POJO。 我的活动 致命异常:main process:com.example.rasmusjosefsson.rjcar,pid:19134 com.firebase

  • 我想将我的React应用程序按块拆分,但遇到了一个问题。不呈现通过加载的子。下面的示例代码。 文件一: 文件二 然后检索下一个错误: 未捕获的错误:缩小的React错误#130;访问http://facebook.github.io/react/docs/error-decoder.html?invariant=130&args[]=未定义&args[]=获取完整消息,或使用非缩小的开发环境获取完

  • 问题内容: 我正在学习有关Java的知识,并且一直困扰着这个问题:当我尝试使用简单的方法(例如)时,编译器给我错误。这是代码: 该方法在Javadoc中定义。 这样做应该很简单,但是我真的不知道我在做什么错。 问题答案: 您已经创建了自己的类,并且没有使用内置的Java类。您尚未定义。