您的位置:首页 > 其它

VC 读取操作Excel问题

2011-07-17 13:01 495 查看
程序读取Excel数据 然后在list中显示 完成后 关闭Excel 打开和关闭均是正常流程 然后出现两个问题 1 Excel无法在进程中关闭 网上找了不少资料 该关 东西都关了 还是没什么用 2 比无法关闭



程序读取Excel数据,然后在list中显示.完成后,关闭Excel.打开和关闭均是正常流程,然后出现两个问题

1.Excel无法在进程中关闭.网上找了不少资料,该关的东西都关了.还是没什么用.

2.比无法关闭Excel 更麻烦.读取后如果再读取一个文件,此时程序占用的内存变大(list当然需要清空).而且是越来越大.这个问题可能与Excel无法关闭有关?但是我强制关闭Excel进程后,这个主进程照样这样占用内存.我也觉得这样关闭不会有什么效果.

哪位高手有没有解决方案啊?

既然使用COM组件操作Excel就要遵循COM组件使用的原则,你检查一下自己的代码是否正确创建或者析构了COM对象吧。

另外,操作系统管理内存有自己的一套机制,比如如何申请、何时释放等,你保证自己的代码中没有内存泄露不就可以了

在quit之前,使用excel对象的析构函数,试试看

使用VC来执读取Excel中的内容的时候,只需像文件一样对Excel操作就可以了,因为Excel里面的数据其实就是以逗号分隔的字段.所以可以如下操作:

FILE *fp = fopen("**.xls","a+b");

if(NULL != fp)

{

//在这里对数据一行行的读取,出来可以使用类CArchive中的Readstring;来进行循环读取

//对读取到的数据进行根据逗号拆分出各个字段;

//将各个字段分别输入到list中显示;

//完毕关闭文件;



}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: