近来有用户要求报表导入EXCEL表,其数据导入是没问题的,但图片的导入没做过。在网上找了一天,今天终于结了。记下简单代码吧
Variant Excel,Wb,ExcelBook,ExcelSheet,Sheet,ERange,EBorders;
AnsiString ExcelFileName;
ExcelFileName = ExtractFileDir(Application->ExeName)+"\\ssl.xls";
try
{
Excel=Variant::CreateObject("Excel.Application");
}
catch(...)
{
MessageBox(Handle,"没有EXCEL","错误",MB_OK|MB_ICONERROR);
return;
}
Excel.OlePropertySet("Visible",true);
Excel.OlePropertyGet("WorkBooks").OleProcedure("Open",ExcelFileName.c_str());
ExcelBook=Excel.OlePropertyGet("ActiveWorkBook");
ExcelSheet= ExcelBook.OlePropertyGet("Sheets", 1) ;
AnsiString str= "e:\\1.bmp";
ExcelSheet.OlePropertyGet("Pictures").OleFunction( "Insert" , str.c_str() );
ExcelSheet.OlePropertyGet("Pictures").OlePropertySet( "Top" , 100 );
ExcelSheet.OlePropertyGet("Pictures").OlePropertySet( "Left" , 2 );
ExcelSheet.OlePropertyGet("Pictures").OlePropertySet( "Width" , 400 );
ExcelSheet.OlePropertyGet("Pictures").OlePropertySet( "Height" , 200 ); //好象长宽设置比例不能变