运行环境:vs2005. excel2003
初始化
if(!AfxOleInit())
{
AfxMessageBox(L"无法初始化COM的动态连接库!");
return;
}
将本地图片加载到excel表
_Application ExcelApp;
Workbooks wbsMyBooks;
_Workbook wbMyBook;
Worksheets wssMysheets;
_Worksheet wsMysheet;
Range rgMyRge;
Shapes shapes;
if (!ExcelApp.CreateDispatch(L"Excel.Application",NULL))
{
AfxMessageBox(L"创建Excel服务失败!");
exit(1);
}
ExcelApp.SetVisible(false);
//利用模板文件建立新文档
//char path[MAX_PATH];
TCHAR path[MAX_PATH];
GetCurrentDirectory(MAX_PATH,path);
CString strPath = path;
strPath += L"//Book1";
wbsMyBooks.AttachDispatch(ExcelApp.GetWorkbooks(),true);
wbMyBook.AttachDispatch(wbsMyBooks.Add(_variant_t(strPath)));
//得到Worksheets
wssMysheets.AttachDispatch(wbMyBook.GetWorksheets(),true);
CString str1;
wsMysheet.AttachDispatch(wssMysheets.GetItem(_variant_t("sheet1")),true);
rgMyRge.AttachDispatch(wsMysheet.GetCells(),true);
//设置1行1列的单元的值
shapes = wsMysheet.GetShapes();
rgMyRge = wsMysheet.GetRange(COleVariant(L"B1"),COleVariant(L"U35"));
shapes.AddPicture(L"D://a.jpg",FALSE, TRUE,
(float)rgMyRge .GetLeft().dblVal, (float)rgMyRge .GetTop().dblVal, // 从本地添加一个图片
(float)rgMyRge .GetWidth().dblVal, (float)rgMyRge .GetHeight().dblVal);
strPath = path;
strPath += L"//TDVoiceCallExcel.xls";
wsMysheet.SaveAs(strPath,vtMissing,vtMissing,vtMissing,vtMissing,
vtMissing,vtMissing,vtMissing,vtMissing,vtMissing);
ExcelApp.SetVisible(true);
wbMyBook.PrintPreview(_variant_t(false));
//释放对象
rgMyRge.ReleaseDispatch();
wsMysheet.ReleaseDispatch();
wssMysheets.ReleaseDispatch();
wbMyBook.ReleaseDispatch();
wbsMyBooks.ReleaseDispatch();
ExcelApp.ReleaseDispatch();