基本信息
源码名称:MFC读写Excel操作实例
源码大小:23.58M
文件格式:.rar
开发语言:C/C++
更新时间:2019-10-30
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 2 元 
   源码介绍

MFC对Excel表格读写访问实例,好理解,容易上手。

CApplication app;
CWorkbooks books;
CWorkbook book;
CWorksheets sheets;
CWorksheet sheet;
CRange range;
CRange iCell;
LPDISPATCH lpDisp;
COleVariant vResult;
COleVariant covOptional((long)DISP_E_PARAMNOTFOUND, VT_ERROR);
if(!app.CreateDispatch(_T("Excel.Application")))
{
AfxMessageBox(_T("无法启动Excel服务器!"));
return;
}
books.AttachDispatch(app.get_Workbooks());
lpDisp = books.Open(_T("d:\\test1.xlsx"), 
covOptional, covOptional, covOptional, covOptional, covOptional,
covOptional, covOptional, covOptional, covOptional, covOptional,
covOptional, covOptional, covOptional, covOptional);
//得到Workbook
book.AttachDispatch(lpDisp);
//得到Worksheets
sheets.AttachDispatch(book.get_Worksheets());

//得到当前活跃sheet
//如果有单元格正处于编辑状态中,此操作不能返回,会一直等待
//lpDisp = book.get_ActiveSheet();
lpDisp = sheets.get_Item(_variant_t(_T("Sheet1")));
sheet.AttachDispatch(lpDisp);
//读取第一个单元格的值
range.AttachDispatch(sheet.get_Cells());
iCell.AttachDispatch(range.get_Item(COleVariant((long)2), COleVariant((long)1)).pdispVal);
vResult = iCell.get_Value2();
CString str;
if (vResult.vt == VT_BSTR)
{
str = vResult.bstrVal;
}
else if (vResult.vt == VT_R8)
{
str.Format(_T("%f"), vResult.dblVal);
}

books.Close();
//释放对象
iCell.ReleaseDispatch();
range.ReleaseDispatch();
sheet.ReleaseDispatch();
sheets.ReleaseDispatch();
book.ReleaseDispatch();
books.ReleaseDispatch();
app.Quit();
app.ReleaseDispatch();