Как экспортировать данные в csv из apex?

Я экспортирую данные из Apex в CSV. Данные поступают в CSV из JSONObject, но со всеми тегами Html. Мне не нужны HTML-теги в CSV. Хотите отображать только данные. Я взял 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 379
2

Ответы 2

Я мог бы пойти по очевидному и простому пути, но как насчет экспортера данных?

Вы включили всевозможные 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/> в конце

Другие вопросы по теме