AttachDispatch
1.函数说明
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 (CoInitialize(NULL)!=0)
{
AfxMessageBox(_T("初始化COM支持库失败!"));
return 0;
}
if(!app.CreateDispatch(_T("Excel.Application")))
{
AfxMessageBox(_T("无法启动Excel服务器!"));
return 0;
}
books.AttachDispatch(app.get_Workbooks());
lpDisp = books.Open(_T("C:\\test.xls"),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();
sheet.AttachDispatch(lpDisp);
//读取第一个单元格的值
range.AttachDispatch(sheet.get_Cells());
range.AttachDispatch(range.get_Item (COleVariant((long)1),COleVariant((long)1)).pdispVal );
/*COleVariant*/ vResult =range.get_Value2();
CString str;
if(vResult.vt == VT_BSTR) //字符串
{
str=vResult.bstrVal;
}
else if (vResult.vt==VT_R8) //8字节的数字
{
str.Format(_T("%f"),vResult.dblVal);
}
/*else if(vResult.vt==VT_DATE) /格式
{
SYSTEMTIME st;
VariantTimeToSystemTime(&vResult.date, &st);
}
else if(vResult.vt==VT_EMPTY) //单元格空的
{
str="";
}*/
books.Close();
app.Quit(); // 退出
//释放对象
range.ReleaseDispatch();
sheet.ReleaseDispatch();
sheets.ReleaseDispatch();
book.ReleaseDispatch();
books.ReleaseDispatch();
app.ReleaseDispatch();
转载于:https://www.cnblogs.com/baoxiaofei/p/4162520.html
AttachDispatch相关推荐
- 使用VC来操作Excel表格的源码
下面的代码段是关于使用VC来操作Excel表格的的代码,应该对小伙伴们也有用. if (CoInitialize(NULL) != 0) { AfxMessageBox("初始化COM支持库 ...
- VC操作Excel文件编程相关内容总结
最近在做个数据库程序,因为有些数据用户要求导出到Excel文件显示(需要报给其他单位).所以查阅了一下相关的VC的Excel编程操作,总结一下吧:(所有资料来源于网络) 利用VC操作Excel的方法至 ...
- 一致的数据访问技术ADO/OLE DB
Microsoft新近推出的UDA(Universal Data Access,一致数据访 问技术)为关系型或非关系型数据访问提供了一致的访问接口,为企业 级Intranet应用多层软件结构提供了数据 ...
- [00028]-[2015-09-23]-[00]-[VC 关于Excel操作的测试]
BOOL CTest_App::InitInstance() {.......// 初始化Con支持库if(ConInitialize(NULL) != 0){AfxMessageBox(" ...
- 如何使用MFC和类型库创建自动化项目
摘要 本文详细介绍了如何自动化像Microsoft Office这样支持COM的应用程序. 更多信息 下面部分介绍了如何创建MFC项目.采用Microsoft Excel举例,你可以将前8个步骤用于任 ...
- (转)另一篇:VC导出数据到EXCEL
另一篇:VC导出数据到EXCEL 2010-08-28 17:03:47| 分类: 默认分类 | 标签: |字号大中小 订阅 我们制作应用软件的时候,经常要把结果以报表的形式输出,当前使用较为广泛 ...
- 利用vc的mfc做的Excel表格处理工具
下面两个文件是逻辑处理文件.已经调通. CExcelmadetoolDlg.h 在这里插入代码片 // ExcelmadetoolDlg.h : header file //#if !defined( ...
- VC下设置Excel单元格的边框
为了能使得输出到Excel中的数据显示表格,可以调用事先设置好的模板,但是不灵活.我花了一个中午的时间摸索出如何设置它了. 具体代码如下: LPDISPATCH pRange; CString ...
- VS2008中C++打开Excel(MFC)
第一步:建立project 选择C++下的MFC Application 选择dialog based,中文.之后点击finish 第二步:导入EXCEL头文件 选择Project->AddCl ...
最新文章
- nginx文件服务器html美化,关于nginx:Nginx浏览目录配置及美化
- setup factory 设置自启动
- MapReduce编写实现wordcount词频统计
- NeHe OpenGL第二十五课:变形
- STM32工作笔记0015---STEMWIN在STM32F1开发板上的移植
- windows查看进程
- OpenBUGS抽样数据基本操作
- 转帖:对linux中半增加半连接数量和防止服务器被dos攻击
- Mac 下 Eclipse 添加 Dynamic Web Project 并配置 Tomcat
- 明月浩空播放器php源码,明月浩空音乐播放器
- 怎么用计算机求5次根号,学生用计算器上面5次根号怎么按?
- #2.生活小妙招-实现没有加速选项的视频加速操作
- 怎么注册免费苹果开发者账号?
- 消除macbook桌面快捷键图标上的箭头
- R包的安装以及安装失败的解决
- pip3.7.5安装环境依赖onnxruntime、onnx、numpy、skl2onnx
- graylog+kafka+zookeeper(单机测试及源码),graylog收集kafka(脚本创建发布订阅方式)存储的消息(四)
- linux nvcc未找到命令,打印本页 - nvcc命令无法识别
- 安装APK 免输入vivo、oppo密码
- 哈希表的基本概念详解以及具体实现(哈希函数、哈希冲突、负载因子)