Oft wird ein Export von Dynamics AX Daten in ein Exceldokument benötigt. Z.B. für einfache Auswertungen oder für Datenimporte in andere Systeme.
Hier ein kurzes Beispiel, wie man aus Dynamics AX ein neues Exceldokument per Code erstellen kann.
static void CreateExcelDokument(Args _args){ SysExcelApplication xlsApplication; SysExcelWorkBooks xlsWorkBookCollection; SysExcelWorkBook xlsWorkBook; SysExcelWorkSheets xlsWorkSheetCollection; SysExcelWorkSheet xlsWorkSheet; SysExcelRange xlsRange; CustTable custTable; int row = 1; str fileName; ; // Name des Exceldokuments. fileName = "C:\\test.xsl"; // Excel initalisieren und öffnen. xlsApplication = SysExcelApplication::construct(); xlsApplication.visible(true); // Neues Excel Worksheet erzeugen. xlsWorkBookCollection = xlsApplication.workbooks(); xlsWorkBook = xlsWorkBookCollection.add(); xlsWorkSheetCollection = xlsWorkBook.worksheets(); xlsWorkSheet = xlsWorkSheetCollection.itemFromNum(1); // Zellenüberschriften in das Worksheet schreiben. xlsWorkSheet.cells().item(row,1).value('Account Num'); xlsWorkSheet.cells().item(row,2).value('Name'); row++; // Excel Worksheet mit Daten füllen (Excel-Zellen füllen). while select custTable { xlsWorkSheet.cells().item(row,1).value(custTable.AccountNum); xlsWorkSheet.cells().item(row,2).value(custTable.Name); row++; } // Prüfen ob das Dokument schon existiert. if(WinApi::fileExists(fileName)) { WinApi::deleteFile(fileName); } // Excel Dokument speichern. xlsWorkbook.saveAs(fileName); // Excel schließen. xlsApplication.quit(); xlsApplication.finalize();}
Subscribe in a reader