Salesforce - 将自定义联系人视图导出到Excel

时间:2010-07-30 20:46:15

标签: excel export salesforce

是否可以将自定义联系人视图导出到Excel?我有一个按钮,转到ExportContacts.page,定义如下:

<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上,我必须定义要导出的字段,如姓氏,名字等。现在,如果我创建一个新的联系人视图并添加说出电子邮件地址,我会在页面上看到它,但是如果我点击导出按钮,它不包含电子邮件地址。我可以将该导出动态化以包含当前视图中的所有值吗?

3 个答案:

答案 0 :(得分:1)

为什么你首先需要这样的观点?控制器中是否有一些复杂的逻辑用于选择记录?

如果对它们的查询可以用标准SOQL编写(如[SELECT FirstName,LastName,MailingCity,Phone,Fax,MobilePhone FROM Contact]),那么导出记录可能会更有效使用Data Loader或名为“Excel Connector”的Excel插件。

如果您需要能够在Salesforce页面上导出和(预)查看数据 - 请考虑创建报告吗?这就是它们的用途,并且有内置的功能可以导出到Excel或CSV。

答案 1 :(得分:0)

您可以使用apex:page组件上的contentType属性将结果导出到Excel。请参阅以下帖子:

Visualforce Export to Excel / IE Bug

答案 2 :(得分:0)

不幸的是,今天你的问题是不可能的。为此,您需要一种方法来查询正在查看的记录的页面布局,然后检查哪些字段是可见的。