Dynamics AX Blog - Dynamics AX 2012 - Beiträge von 2008 - Seite 2
Momentan angezeigt werden nur Beiträge, welche für die Dynamics AX-Version »Dynamics AX 2012« relevant sind. 
RSS-Feed dieser Version

RSS-Feed dieser Version
Momentan angezeigt werden nur Beiträge von »2008«.
CSV-Datei und Zeilenumbrüche
10.03.2008Microsoft Dynamics AX (Axapta)
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:
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; } |
|
|
|
|
|
|
Manchmal ist es notwenig, aus Dynamics AX heraus per X++ eine "echte" Excel-Datei zu erstellen. Dazu stellt AX ja bekanntermaßen Objekte wie SysExcelApplication, SysExcelWorkBooks usw. zur Verfügung. Der Nachteil dieser Objekte ist rasch erwähnt: Sie sind langsam!
Aber es geht auch wesentlich rascher, allerdings mit dem Umweg per TextIO zuerst eine CSV-Datei zu erstellen und diese anschließend von AX in eine Excel-Datei umzuwandeln.
Der Code für letztere Umwandlung ist diesem Microsoft-Knowlegebase-Artikel zu entnehmen (erfordert PartnerSource-Zugriff).