首页 > 解决方案 > 如何从 Apex 导出 CSV 格式的数据?

问题描述

我正在将数据从 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>

标签: salesforcevisualforceapex

解决方案


您已经包含了各种 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/>在最后添加


推荐阅读