您的位置:首页 > 其它

MFC 对Excel的基本操作

2010-10-27 18:29 381 查看
运行环境: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();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: