Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在VF页面中导出Excel-使用动态图像URL时未显示图像_Excel_Salesforce_Apex_Visualforce - Fatal编程技术网

在VF页面中导出Excel-使用动态图像URL时未显示图像

在VF页面中导出Excel-使用动态图像URL时未显示图像,excel,salesforce,apex,visualforce,Excel,Salesforce,Apex,Visualforce,我正在将VF页面导出为Excel文档。导出excel文件时,图像单元格包含空白数据。下面是我的VF页面代码。如果我使用的是静态url而不是动态图像url,它就可以正常工作 <apex:page controller="Users_Profile" contentType="application/vnd.ms-excel#Users.xls"> <table border="0" cellspacing="0" cellpadding="0" style="width:100%

我正在将VF页面导出为Excel文档。导出excel文件时,图像单元格包含空白数据。下面是我的VF页面代码。如果我使用的是静态url而不是动态图像url,它就可以正常工作

<apex:page controller="Users_Profile" contentType="application/vnd.ms-excel#Users.xls">
<table border="0" cellspacing="0" cellpadding="0" style="width:100%;">
    <thead>
        <tr>
            <th>Profile Image</th>
            <th>Name</th>
            <th>City</th>
            <th>State</th>
        </tr>
    </thead>
    <tbody>
        <apex:repeat value="{!lstUsers}" var="user">
            <tr>
                <td>
                    <image alt="Image" src="{!BaseUrl}{!URLFOR($Resource.DefaultProfileImage)}" />
                </td>
                <td>{!user.Name}</td>
                <td>{!user.City__c}</td>
                <td>{!user.State__c}</td>
            </tr>
        </apex:repeat>
    </tbody>
</table>

我尝试在VF页面中使用XML结构而不是HTML标记来解决此问题,但它不起作用。

只有在浏览器成功登录到Salesforce时,静态资源才会显示OK。我的意思是想一想,在像https://eu1.salesforce.com/resources/DefaultProfileImage. Excel无法下载图像。在私密浏览模式下转到图像的url,在您登录之前,它不会显示OK。这类似于使用资源或VF页面生成带有图像的PDF的电子邮件模板

您需要将图像上传到文档切换到SF Classic UI,勾选External available image(外部可用图像)复选框,生成的链接如下所示https://instance.content.force.com/servlet/servlet.ImageServer?id=015...&oid=00D.... 这是全球唯一的,它包含您的组织id和文档记录的id


您还可以将图像上传到其他地方Heroku?,在Salesforce或社区中创建网站,并将其作为公共url引用,就像这样。。。基本上,无需登录即可使用图像。

静态资源仅在浏览器成功登录到Salesforce时显示OK。我的意思是想一想,在像https://eu1.salesforce.com/resources/DefaultProfileImage. Excel无法下载图像。在私密浏览模式下转到图像的url,在您登录之前,它不会显示OK。这类似于使用资源或VF页面生成带有图像的PDF的电子邮件模板

您需要将图像上传到文档切换到SF Classic UI,勾选External available image(外部可用图像)复选框,生成的链接如下所示https://instance.content.force.com/servlet/servlet.ImageServer?id=015...&oid=00D.... 这是全球唯一的,它包含您的组织id和文档记录的id


您还可以将图像上传到其他地方Heroku?,在Salesforce或社区中创建网站,并将其作为公共url引用,就像这样。。。基本上,无需登录即可获取图像。

我同意Eyescream的回答。除此之外,您还可以创建“外部可用图像”文档并在其中上载图像。现在,您无需登录salesforce即可访问图像

使用以下步骤创建文档

转到salesforce中的“文档”选项卡 单击“新建文档” 填写文档名称和其他详细信息 选中“外部可用图像”复选框 上传图片并点击保存按钮
您将获得图像预览,您可以在salesforce之外使用该图像url。

我同意Eyescream的回答。除此之外,您还可以创建“外部可用图像”文档并在其中上载图像。现在,您无需登录salesforce即可访问图像

使用以下步骤创建文档

转到salesforce中的“文档”选项卡 单击“新建文档” 填写文档名称和其他详细信息 选中“外部可用图像”复选框 上传图片并点击保存按钮 您将获得图像预览,并且可以在salesforce之外使用该图像url