poi导出,单元格链接到本地文件

发布于 2022-01-04 18:25:25 字数 1402 浏览 922 评论 1

poi导出,单元格设置链接跳转到一个本地文件,代码如下:

XSSFHyperlink link = (XSSFHyperlink) creationHelper.createHyperlink(HyperlinkType.FILE);
//也尝试了file:///..\lala.jpg加这个前缀的方式
link.setAddress("..\lala.jpg");

但是发现这样子会一直报错:“Address of hyperlink must be a valid URI”

然后就看了setAddress方法,发现内部有一个校验逻辑如下:

    public void setAddress(String address) {
        validate(address);

       _location = address;
        //we must set location for internal hyperlinks
        if (_type == HyperlinkType.DOCUMENT) {
            setLocation(address);
        }
    }

    @SuppressWarnings("fall-through")
    private void validate(String address) {
        switch (_type) {
            // email, path to file and url must be valid URIs
            case EMAIL:
            case FILE:
            case URL:
                try {
                    new URI(address);
                } catch (URISyntaxException e) {
                    throw new IllegalArgumentException("Address of hyperlink must be a valid URI", e);
                }
                break;
            case DOCUMENT:
                // currently not evaluating anything.
                break;
            default:
                throw new IllegalStateException("Invalid Hyperlink type: " + _type);
        }
    }

那么问题来了。。。假如需要跳转本地文件,这个地址究竟应该怎么写呢~

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

月亮是我掰弯的 2022-01-06 07:15:14

好像是这么一回事~~~

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文