Salesforce - 将自定义联系人视图导出到Excel
是否可以将自定义联系人视图导出到Excel?我有一个按钮,进入到ExportContacts.page是这样定义:Salesforce - 将自定义联系人视图导出到Excel
<apex:page standardController="Contact" contenttype="application/vnd.ms-excel" recordSetVar="contacts" extensions="ExportContactsExtension" >
<apex:pageBlock title="Contacts">
<apex:pageBlockTable value="{!contacts}" var="contact">
<apex:column value="{!contact.LastName}"/>
<apex:column value="{!contact.FirstName}"/>
<apex:column value="{!contact.Name}"/>
<apex:column value="{!contact.MailingCity}"/>
<apex:column value="{!contact.Phone}"/>
<apex:column value="{!contact.Fax}"/>
<apex:column value="{!contact.MobilePhone}"/>
</apex:pageBlockTable>
</apex:pageBlock>
</apex:page>
的ExportContactsExtension.cls就像定义:
public class ExportContactsExtension {
public ExportContactsExtension(ApexPages.StandardSetController controller) {
//set the page size so all records will be exported
controller.setPageSize(controller.getResultSize());
}
}
可问题是我出口中指定的特定字段联系人视图?在ExportContacts.page上,我必须定义要导出的字段,例如姓氏,名字等。现在,如果我创建新的联系人视图并添加电子邮件地址,我会在页面上看到它,但如果我点击导出按钮,它不包括电子邮件地址。我可以使动态导出包含当前视图中的所有值吗?
为什么你首先需要这样的观点?控制器中是否有一些复杂的逻辑用于选择记录?
如果可以用标准SOQL(如[SELECT FirstName,LastName,MailingCity,Phone,Fax,MobilePhone FROM Contact])编写查询,那么使用Data Loader导出记录或Excel插件名为“Excel Connector”。
如果您需要能够导出和(预)查看Salesforce页面上的数据 - 请考虑创建报告?这就是他们的目的,并有内置的功能导出到Excel或CSV。
您可以使用apex:page组件上的contentType属性将结果导出到Excel。请参阅以下职位:
我更新了ExportContacts.page以包含contenttype - 我已经在我的页面中找到了它,但是它每次都不用启动Excel就可以轻松查看结果,并且不会将其粘贴到此问题中。我可以将指定的字段导出到Excel,但问题仍然是导出新字段(如电子邮件地址)的最佳方式。我可以在ExportContacts.page上动态执行此操作,还是必须对将要导出的字段进行硬编码,并在需要导出新字段时对其进行更新? – 2010-08-03 15:32:41
你问的是什么不幸的是无法与今天的顶点。要做到这一点,你需要一种方式来查询页面布局是为了正在查看的记录,然后检查哪些字段是可见的。
视图是标准的联系人视图 - 它不是自定义控制器。它不包含任何自定义SOQL来检索信息。 – 2010-08-03 15:30:57