Bojensen Blogs

How to create an Excel file in X++

static void writeDataIntoExcelSheetFromAx(Args _args)
{
InventTable inventTable;
Container itemIdCon;
COM comRange;
COM comWorkBook;
COM comWorkBooks;
COM comWorkSheet;
COM comCharacters;
COM comAppl;
str test,test1;
int offset = 65-1; //65 means letter ‘A’
str 2 columnId;
str fileName;
str time;
int i;
#define.Excel(‘Excel.Application’)
;
comAppl = new COM(#Excel);
comAppl.visible(true);
comWorkbooks = comAppl.workbooks();
WINAPI::createFile(‘C:test.xls’);
comWorkbook = comWorkbooks.open(‘C:test.xls’,true,true);
comWorksheet = comWorksheet.new(‘C:test.xls’);
comWorksheet = comWorkbook.activeSheet(); //Use comWorkbook.activateSheet(); in case of Ax 3.0
comWorksheet.select();
while select inventTable
{
columnId = num2char(offset + 1);
i++;
test = columnId + int2str(i);
comRange = comWorksheet.range(test);
comCharacters = comRange.characters();
comCharacters.insert(inventTable.ItemId);
columnId = num2char(offset + 2);
test = columnId + int2str(i);
comRange = comWorksheet.range(test);
comCharacters = comRange.characters();
comCharacters.insert(inventTable.ItemName);
}
WINAPI::createDirectory(‘C:AxData’);
time = time2str(timenow(),1,1);
time = strrem(time,’:’);
fileName = ‘C:AxData’ + curuserid() + date2str(today(),123,2,0,3,0,4)+ time + ‘test’ + ‘.xls’;
comWorkbook.saveAs(fileName);
}

Comments are closed.