MFC 对Excel的基本操作

来源:互联网 发布:淘宝客户关系管理标签 编辑:程序博客网 时间:2024/05/28 15:07

运行环境: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();  

原创粉丝点击