Importing
Image from resource node and exporting the same to excel:
The below is the job to export image from
AX to excel file.
static void ExportImageToExcel(Args _args)
{
COM comApplication;
COM comWorkbooks;
COM comWorkbook;
COM comWorksheet;
COM comShapes;
COMVariant variant = new
COMVariant();
COMVariant xpos = new
COMVariant();
COMVariant ypos = new
COMVariant();
COMVariant state = new
COMVariant();
COMVariant width = new
COMVariant();
COMVariant height = new
COMVariant();
SysExcelWorksheet excelWorksheet;
SysExcelCells excelCells;
;
//Create the Excel app and grab the
workbooks
comApplication = new COM('Excel.application');
comWorkBooks = comApplication.workbooks();
//Wrap the rest in an exception to make
sure excel is closed
try
{
//Create a
new workbook and get a reference to it
variant.int(-4167);
comWorkBook =
comWorkBooks.add(variant);
comWorkSheet = comApplication.activeSheet();
//Add some
text to the worksheet
excelWorksheet =
SysExcelWorkSheet::construct(MSOfficeVersion::Office2007, comWorksheet);
excelCells = excelWorksheet.cells();
excelCells.item(10,1).value("Hello world");
//Set up
image parameters
variant.bStr("c:\\temp\\photo.jpg");
xpos.int(1);
ypos.int(1);
state.int(1);
width.int(100);
height.int(100);
//Add the
image to the worksheet
comShapes = comWorkSheet.shapes();
comShapes.addPicture(variant,xpos,ypos,state,state,width,height);
//Autofitt
and protect the sheet
excelworksheet.columns().autoFit();
excelWorksheet.protect('',true,true);
//Save the
sheet and close the app
comWorkBook.saveas("c:\\temp\\hello.xls");
comWorkBooks.close();
comApplication.quit();
}
catch(Exception::Error)
{
//Force
app to quit
comWorkBook.saveas("c:\\temp\\hello.xls");
comWorkBooks.close();
comApplication.quit();
}
}
The logo in my example I have kept in the
path C:\\Temp\image.png and from that path image will be taken by AX and export
it to the excel file in the same folder temp.
Output: