CSV-Datei und Zeilenumbrüche

Wenn man aus AX Daten in eine CSV-Datei exportieren muss, gibt es immer wieder Probleme mit Zeilenumbrüchen in mehrzeiligen AX-Feldern.

Um diese zu umgehen, müssen lediglich folgende Punkte beachtet werden:

  • Der Text muss in doppelte Anführungszeichen (") eingeschlossen werden
  • Der RecordDelimiter des TextIO-Objekts muss ein Linefeed sein [=num2char(10)]
  • Doppelte Anführungszeichen im Text müssen "verdoppelt" werden

 

static void Export_CSV(Args _args)
{
    TextIO      textFile;
    CustTable   CustTable;

    str csv(str _str)
    {
        _str = strReplace(_str, """, """");
       
        return """ + _str + """;
    }
    ;

    textFile = new TextIO("c:\temp\csv_test.csv","W",0);
    textFile.outFieldDelimiter(";");
    textFile.outRecordDelimiter(num2char(10));  // Wichtig wegen Zeilenumbrüchen!!!


    while select CustTable
    {
        textFile.write(
            csv(CustTable.Name) +
            ";" +
            csv(CustTable.Address) +
            ";"
            );
    }
   
    textFile = null;
}
Dieser Beitrag bezieht sich auf die Versionen:
Dynamics AX 2012, Dynamics AX 2009

 
 

 

 
 
 
Beiträge des aktuellen Monats
November 2024
MoDiMiDoFrSaSo
 123
45678910
11121314151617
18192021222324
252627282930 
 
© 2006-2024 Heinz Schweda | Impressum | Kontakt | English version | Desktop Version
Diese Webseite verwendet Cookies, um Benutzern einen besseren Service anzubieten. Wenn Sie weiterhin auf der Seite bleiben, stimmen Sie der Verwendung von Cookies zu.  Mehr dazu