使用 OLE 操作 Excel ,在多线程下使用报错问题解决
来源:互联网 发布:传奇永恒四区数据互通 编辑:程序博客网 时间:2024/05/19 15:19
添加 CExcelOLE 类
在 MFC 中,操作 Excel 表格内容还是比较方便的,直接VS 的工作项目添加类即可。
大致如下:
1 工程属性右键 Add Class -> MFC -> MFC Class From TypeLib -->Add
2 在 Available type libraries: 选择电脑上的 Excel 版本库,然后选择如下的几个类添加到右边框,完成即可在项目内生成一个 CExcelOLE 类。
改写构造函数
默认支持的是在主线程内使用,如果在创建的子线程中使用会报错,这便需要在构造 Ole 对象的时候分别设定是否采用多线程模式来初始化了。
代码如下:
CExcelOLE::CExcelOLE(BOOL bMultiThreaded){if (bMultiThreaded){CoInitializeEx(NULL,COINIT_MULTITHREADED); //可以在多线程中使用COM, 但是可能会导致有些依赖 MFC 的操作异常}else{CoInitialize(NULL);}if(!m_app.CreateDispatch(_T("Excel.Application"),NULL))//启动了6个线程{m_bOleReady = false;}else{m_bOleReady = true;}m_lpDisp = NULL;}
使用
在创建的子线程函数内调用:
CExcelOLEExcel(TRUE);//多线程方式初始化Excel.OpenExcel(m_strFilePath);Excel.OpenSheet();
0 0
- 使用 OLE 操作 Excel ,在多线程下使用报错问题解决
- Delphi中使用OLE方法操作Excel
- 使用VC++操作Excel文件 - [Ole]
- 使用Win32::OLE操作Excel——Excel对象模型
- 使用jxl读取excel报错记录:jxl.read.biff.BiffException: Unable to recognize OLE stream
- MFC中使用OLE/COM操作EXCEL的方法
- VS2008环境使用MFC操作读取excel文件(OLE/COM)
- MFC中使用OLE/COM操作EXCEL的方法
- vs2013 在win7下,使用c++创建项目各种报错问题解决方案
- python+selenium在Pycharm中使用alert报错问题解决
- 使用jxl进行excel表操作报错的问题
- JAVA下OLE对象使用
- VC使用OLE DB访问ACCESS、EXCEL
- 用OLE操作Excel
- OLE操作EXCEL
- OLE 操作Excel 祥解
- 通过ole 操作Excel
- OLE操作Excel
- json的理解(JavaScript 对象标记语言)
- 文献检索(学术搜索)
- Linux查看系统配置常用命令
- 背景图片全屏居中
- @RequestMapping内容中的一些参数以及怎么用RequestMapping去写一些API
- 使用 OLE 操作 Excel ,在多线程下使用报错问题解决
- 两数相加问题 A + B Problem
- yum
- weblogic学习之路
- 算法学习-(三)贪婪算法
- jQuery Validate ajax 后台验证
- Quartz2D实现渐变色
- PHPexcel简单理解
- Form上传多图片