设定ListView的Button属性为
VisualForce Page
按钮按下时的处理
<apex:page controller="AccountCsvController" cache="true"
contentType="text/csv;charset=Shift-JIS;#test.csv" readOnly="true">
<apex:repeat value="{!csvList}" var="row">
<apex:outputText value="{!row}" />
</apex:repeat>
</apex:page>
相对应的Controller处理
public class AccountCsvController {
public List<String> csvList {get; set;}
ApexPages.StandardSetController controller {get; set;}
public AccountCsvController(ApexPages.StandardSetController controller) {
this.controller = controller;
}
public PageReference execute(){
List<Account> AccountIdList = (List<Account>)controller.getSelected();
csvList = new List<String>();
for(Account a : [SELECT Name, BillingPostalcode FROM Account Where Id IN : AccountIdList]){
String line = a.name + ',' + a.BillingPostalcode + '\n';
csvList.add(line);
}
return Page.AccountCsvButtonPage2;
}
}``
上述代码为总结。