Excel 文件中,大量数据时, VC 如何提高 SetItem写入记录速度,送分啊!!! Excel 文件中,VC 如何提高 SetItem写入记录速度,送分啊!!!(用: m_Range.SetItem 方法,大量数据时 如何提高 SetItem写入记录速度 ) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1、把Application的自动刷屏属性关闭。忘了具体名称。2、找到m_Range的接口指针,调用接口指针的方法,而不是调用IDispatch的自动化接口。 谢谢!,楼上指的:Application的自动刷屏属性 是 :SetScreenUpdating 属性把 我试过:但是结果却相反:[1]SetScreenUpdating = FALSE 结束时间 - 起始时间 20900328 - 20886734 = 13594(ms)[2]SetScreenUpdating 默认不使用时 结束时间 - 起始时间 21020406 - 21010218 = 10188(ms) m_Range的接口指针 不明白和m_Range.SetItem 的差别我这样用的: Range rg = m_workSheet.GetCells(); rg.Select(); rg.SetItem(COleVariant((long)1), COleVariant((long)1), COleVariant("wdwewgewgdwe")); rg.ReleaseDispatch(); 将Excel文件转存为csv格式 再次读取 速度应该会快很多 1、把Application的自动刷屏属性关闭 SetScreenUpdating 。2、找到m_Range的接口指针,调用接口指针的方法,而不是调用IDispatch的自动化接口。 数据量大时,可以把数据放到数组中一次写入.请参见:http://blog.csdn.net/tanlijun37/archive/2008/10/23/3132616.aspx http://www.cjsdn.net/post/print?bid=32&id=187299http://www.cjsdn.net/post/print?bid=32&id=187299 VC 一次保存多个文档视图 activex内,如何自定义SendMessage 如何获得webbrowser控件所显示的网页内,用户所点击的超链接地址? 我什么我编的程序只能运行一次啊!!第而次就自动关闭!! 用create创建非模态对话框的时候使用this出错 弱弱的问题 如何在组件中添加一个ACTIVE控件? 想买个轻便笔记本,要能做开发,帮看看 请问编写COM方法个数可否超过12个? 动态创建菜单的问题(帮帮我)? 关于响应CListCtrl滚动条消息 用VC如何获得硬盘有多少个分区
2、找到m_Range的接口指针,调用接口指针的方法,而不是调用IDispatch的自动化接口。
[1]SetScreenUpdating = FALSE
结束时间 - 起始时间
20900328 - 20886734 = 13594(ms)[2]SetScreenUpdating 默认不使用时
结束时间 - 起始时间
21020406 - 21010218 = 10188(ms)
我这样用的:
Range rg = m_workSheet.GetCells();
rg.Select();
rg.SetItem(COleVariant((long)1), COleVariant((long)1), COleVariant("wdwewgewgdwe"));
rg.ReleaseDispatch();
2、找到m_Range的接口指针,调用接口指针的方法,而不是调用IDispatch的自动化接口。
请参见:
http://blog.csdn.net/tanlijun37/archive/2008/10/23/3132616.aspx