CSpreadSheet这个封装类对纯数字或字母是可以读取的,但是数字加字母就不行了。用起来看上去很方便,实际功能很小而用自动化的方式我每次打开或者写入一次EXCEL系统中就会有一个EXCEL的进程。用
range.ReleaseDispatch();
sheet.ReleaseDispatch();
app.ReleaseDispatch();
book.ReleaseDispatch();
sheets.ReleaseDispatch();
books.ReleaseDispatch();
book.Close(covOptional,COleVariant("aaa.xls"),covOptional);
books.Close();
app.Quit();后进程还是有,请问该怎么把进程关掉。请问还有没有好的方法操作EXCEL啊,我我EXCEL版本是2003

解决方案 »

  1.   

    你是不是应该app.Quit()后在releaseDispatch();我想应该是这原因。
      

  2.   

    使用COM方式调用.如下调用Office2000的Word和Excel
    #import "C:\Program Files\\Common Files\\Microsoft Shared\\Office10\\MSO.DLL" rename_namespace("Office"),named_guids
    using namespace Office;
    #import "C:\\Program Files\\Common Files\\Microsoft Shared\\VBA\\VBA6\\VBE6EXT.olb" rename_namespace("VBE6")
    using namespace VBE6;
    #import "C:\Program Files\Microsoft Office\Office\MSWORD9.olb" rename("ExitWindows","ExitWindowsEx"),rename_namespace("MSWord")
    using namespace MSWord;
    // Excel导入库
    #import "C:\Program Files\Microsoft Office\OFFICE\EXCEL9.OLB" rename("RGB","RGBEx"),rename("DialogBox","DialogBoxEx"),rename_namespace("MSExcel") rename("RGB", "RBGXL"), \
    rename("DocumentProperties", "DocumentPropertiesXL"), exclude("IFont", "IPicture")
    using namespace MSExcel;Excel2003好像引入的类库为Excel.exe
      

  3.   

    我认为RELEASE的顺序应该是 range sheet sheets book books app
    我就是这样做的,释放后没有EXCEL进程.