程序读取Excel数据,然后在list中显示.完成后,关闭Excel.打开和关闭均是正常流程,然后出现两个问题1.Excel无法在进程中关闭.网上找了不少资料,该关的东西都关了.还是没什么用.2.比无法关闭Excel 更麻烦.读取后如果再读取一个文件,此时程序占用的内存变大(list当然需要清空).而且是越来越大.这个问题可能与Excel无法关闭有关?但是我强制关闭Excel进程后,这个主进程照样这样占用内存.我也觉得这样关闭不会有什么效果.哪位高手有没有解决方案啊?

解决方案 »

  1.   

    既然使用COM组件操作Excel就要遵循COM组件使用的原则,你检查一下自己的代码是否正确创建或者析构了COM对象吧。
    另外,操作系统管理内存有自己的一套机制,比如如何申请、何时释放等,你保证自己的代码中没有内存泄露不就可以了
      

  2.   

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

  3.   

    使用VC来执读取Excel中的内容的时候,只需像文件一样对Excel操作就可以了,因为Excel里面的数据其实就是以逗号分隔的字段.所以可以如下操作:FILE *fp = fopen("**.xls","a+b");
    if(NULL != fp)
    {
        //在这里对数据一行行的读取,出来可以使用类CArchive中的Readstring;来进行循环读取
        //对读取到的数据进行根据逗号拆分出各个字段;
        //将各个字段分别输入到list中显示;
        //完毕关闭文件;
       
    }