• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >vc/mfc > 读取excel,结束时任务管理器无法关闭excel

读取excel,结束时任务管理器无法关闭excel

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-04

佚名通过本文主要向大家介绍了matlab读取excel数据,java读取excel,c#读取excel,matlab 读取excel,python读取excel等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 读取excel,结束时任务管理器无法关闭excel
描述:

应该是变量没有释放完导致无法完全关闭
代码如下:


CString strPathName;
CFileDialog *pOpenFile=new CFileDialog(TRUE,NULL,NULL,OFN_HIDEREADONLY
| OFN_OVERWRITEPROMPT, "excel(*.xls)|*.xls");
ASSERT(pOpenFile!=NULL);
if (pOpenFile->DoModal() == IDOK)
{
OnButtonClear();
strPathName=pOpenFile->GetPathName();
}
else
return;
_Application _app;
_Workbook book;
_Worksheet sheet;
Workbooks books;
Worksheets sheets;
Range range;
Range usedRange;
if(!_app.CreateDispatch("Excel.Application",NULL))
{
MessageBox(_T("Excel 建立失败"),_T("信息提示"));
return;
}
LPDISPATCH lpDisp;
//_app.SetVisible(TRUE);
//_app.SetUserControl(TRUE);
lpDisp=_app.GetWorkbooks();
books.AttachDispatch(lpDisp);
COleVariant covOptional((long)DISP_E_PARAMNOTFOUND,VT_ERROR);
 
lpDisp=books.Open(strPathName,covOptional,covOptional,covOptional,
covOptional,covOptional,covOptional,covOptional,covOptional,
covOptional,covOptional,covOptional,covOptional,covOptional,
covOptional);
book.AttachDispatch(lpDisp);
lpDisp=book.GetWorksheets();
sheets.AttachDispatch(lpDisp);
//sheet.AttachDispatch(sheets.GetItem(COleVariant("sheet1")),TRUE);
lpDisp = book.GetActiveSheet();
sheet.AttachDispatch(lpDisp);
//读取已经使用区域的信息,包括已经使用的行数、列数、起始行、起始列
lpDisp=sheet.GetUsedRange();
usedRange.AttachDispatch(lpDisp);
int nRow,nCol;
//row
lpDisp=usedRange.GetRows();
range.AttachDispatch(lpDisp);
nRow=range.GetCount();
//col
lpDisp=usedRange.GetColumns();
range.AttachDispatch(lpDisp);
nCol=range.GetCount();
int i,j;
COleVariant vResult;
for(i=2;i<=nRow;i++)
{
for(j=1;j<=nCol;j++) 
{
lpDisp=sheet.GetCells();
range.AttachDispatch(lpDisp);
range.AttachDispatch(range.GetItem(COleVariant(long(i)),
COleVariant(long(j))).pdispVal);
vResult=range.GetValue2();
m_LNode.AddLNode(m_pHead[j-1],vResult.dblVal);
}
m_nSum++;
}
//release
lpDisp->Release();
usedRange.ReleaseDispatch();
range.ReleaseDispatch();
sheet.ReleaseDispatch();
sheets.ReleaseDispatch();
book.ReleaseDispatch();
books.ReleaseDispatch();
_app.ReleaseDispatch();
book.Close(covOptional,COleVariant(strPathName),covOptional);
books.Close();
_app.Quit();


解决方案1:

 试试


  Excel_App.Quit();
  Excel_book.SetSaved(true);
  Excel_books.Close();
  Excel_range.ReleaseDispatch();
  Excel_sheet.ReleaseDispatch();
  Excel_sheets.ReleaseDispatch();    
  Excel_book.ReleaseDispatch();
  Excel_books.ReleaseDispatch();
  Excel_App.ReleaseDispatch();


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 读取excel的问题
  • 读取Excel的问题
  • 读取excel问题
  • 读取excel,结束时任务管理器无法关闭excel

相关文章

  • 2017-06-05 如何将一个exe工程改成ocx
  • 2017-06-05 请教一下,在Vs2010里如何从Tlb文件转换成h头文件?
  • 2017-06-05 任何一个扩展名文件的显示图标对应注册表值是那个
  • 2017-06-04 高分:如何在ie中实现msntoolbar或者yahootoolbar的tabbedbrowsing选项卡式浏览
  • 2017-06-04 将BSTR转换为char后,为什么大于4个字符的串将被截断为4个字符?
  • 2017-06-05 500分求助,EventSink类的编制,up有分
  • 2017-06-04 我使用SetTimer,提示示'SetTimer':functiondoesnottake4parameters是为什么
  • 2017-06-04 Activex控件最大化、最小化父窗口?
  • 2017-06-04 connectionpoints函数回叫如何指定单个client目标?
  • 2017-06-04 OleView遇到问题需要关闭

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 我在"atl"中加入了一个"mts"组件选择了支持对象池但是不好用why???
    • MimeFliter过滤webbrowser中网页代码项目中如何获取CLSID
    • 关于mfc线程画图的问题
    • 如何实现BHO拦截onsubmit?
    • 关于多线程(AfxBeginThread的问题
    • 怎么线程在这种情况下不会被调用阿?
    • 我应该怎样在OleDB的数组行集中获取行集中的记录数?实在是想不出来,谢谢大家了
    • DCOM调用
    • VS2008中,为MFCACTIVEX控件添加事件,提示“无法找到事件接口”
    • 一个非常着急的问题谢谢关注

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有