Excel 文件中,VC 如何提高 SetItem写入记录速度,送分啊!!!
(用: m_Range.SetItem 方法,大量数据时 如何提高 SetItem写入记录速度 )

解决方案 »

  1.   

    1、把Application的自动刷屏属性关闭。忘了具体名称。
    2、找到m_Range的接口指针,调用接口指针的方法,而不是调用IDispatch的自动化接口。
      

  2.   

    谢谢!,楼上指的:Application的自动刷屏属性 是 :SetScreenUpdating 属性把 我试过:但是结果却相反:
    [1]SetScreenUpdating = FALSE
       结束时间 - 起始时间
        20900328 - 20886734 = 13594(ms)[2]SetScreenUpdating 默认不使用时
       结束时间 - 起始时间
        21020406 - 21010218 = 10188(ms)
      

  3.   

    m_Range的接口指针 不明白和m_Range.SetItem 的差别
    我这样用的:
    Range rg = m_workSheet.GetCells();
    rg.Select();
    rg.SetItem(COleVariant((long)1), COleVariant((long)1), COleVariant("wdwewgewgdwe"));
    rg.ReleaseDispatch();
      

  4.   

    将Excel文件转存为csv格式 再次读取 速度应该会快很多
      

  5.   

    1、把Application的自动刷屏属性关闭 SetScreenUpdating 。
    2、找到m_Range的接口指针,调用接口指针的方法,而不是调用IDispatch的自动化接口。
      

  6.   

    数据量大时,可以把数据放到数组中一次写入.
    请参见:
    http://blog.csdn.net/tanlijun37/archive/2008/10/23/3132616.aspx
      

  7.   

    http://www.cjsdn.net/post/print?bid=32&id=187299http://www.cjsdn.net/post/print?bid=32&id=187299