我正在将数据从Apex导出到CSV。数据从JSONObject发送到CSV,但与所有Html标签一起发送。我不想要CSV格式的HTML标签。只想显示数据。我已经拿了一个jsonobject并从json中读取数据。
// JsonData
String myObj = { "name":"John", "age":30, "car":null };
myObj = (List<JsnApx>) System.JSON.deserialize(myObj, List<JsnApx>.class);
// code I have used to convert in CSV from Apex.
public PageReference SaveAsCSV() {
pb1=false;
renderAsExcel='application/vnd.csv#Commission Summary Report.csv';
return null;
}
//vf page
<apex:repeat value="{!myObj }" var="a" id="total" >
<span styleClass="alldatatables" var="ca" cellpadding="5" rowClasses="alldatarows">
<tr style="border:1px solid #000;">
<td>{!a.name}</td>
<td>{!a.age}</td>
<td>{!a.car}</td>
</tr></span>
</apex:repeat>
答案 0 :(得分:0)
我可能走的是简单明了的路线,但是数据导出器呢?
答案 1 :(得分:0)
您已包含各种HTML标签,例如span
,tr
,td
,您期望什么? Excel将尝试正确显示html表,但这并不意味着文件格式可以。
尝试类似的方法(我在明文部分的VF电子邮件模板中使用了类似的方法,在正常页面上也应该可以)
<apex:repeat value="{!records}" var="r">
{!r.Name},
<apex:outputText value="{0, date,yyyy-MM-dd},">
<apex:param value="{!r.Date__c}" />
</apex:outputText>
<apex:outputText value="{!r.Account__r.Name}" />,
<apex:outputText value="{!r.Type__c}" />,
<apex:outputText value="{!r.Status__c}" />
</apex:repeat>
如果您遇到换行问题,则可以在末尾添加<br/>