Use the following job :)
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\\hello.bmp");
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();
}
}
Happy Daxing!
Aucun commentaire:
Enregistrer un commentaire