没分了,碰到疑难杂症了

蒙飞鸿 2012-11-28 09:50:56
要做把ACCESS表转EXCEL,网上介绍有两种方法分别是OLE和控件。
用OLE能实现所有功能,但因为用TADOQuery遍历记录所以速度很慢。用控件基本能实现功能,并且因为使用了TExcelQueryTable所以处理大表的速度快很多很多,但里面的图片没有贴到正确的位置上去,因为是使用ExcelWorksheet1->Paste(V(LPDISPATCH(r)), TNP, 0)来贴图的于是就贴到了单元格左上角把边框覆盖了。
于是想到同时用两种方法,但BCB6里这两套代码不能很好相处,能编译通过,但运行报错,只有把其中一套代码的修改、写入的部分去掉才行。
现在有几个方向去解决:1、提高TADOQuery的使用效率,貌似无解;2、使用DBExpress,但网上没有教程,而且貌似生成可独立运行的EXE也有麻烦;3、试试VC里的ADO方式,但编译错误很多,而且可能跟TADOQuery结果一样;4、使两套代码能运行共处,这个貌似需要很高深的知识;5、放弃BCB使用VC。。。

由于BCB资料太少了,这几个方向对于新手来说几乎都是泥潭啊,求老鸟帮助了,最后的分给完了。
...全文
157 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
蒙飞鸿 2012-12-03
  • 打赏
  • 举报
回复
最后在控件方式下解决了这个问题,通过excelWorksheet::get_Shapes得到ShapesPtr,然后ShapesPtr->Item得到ShpaePtr,ShapePtr->IncrementLeft就可以对图片移位了,就目前的结果来看,还是使用ExcelQueryTable控件处理效率最高
wg961423 2012-11-28
  • 打赏
  • 举报
回复
用NativeExcel试试
Jonix 2012-11-28
  • 打赏
  • 举报
回复
实际上还有一种方法,不要求安装 excel, 在只安装了 windows 下可以操作 excel 和 access 。 就是 odbc 方式,不过我没实现过,以前有个同事在 vc 下实现过。 听同事说,已知的最高效率是把 excel 转换成 xml 后进行操作,保存前再转回 xls 。
蒙飞鸿 2012-11-28
  • 打赏
  • 举报
回复
引用 6 楼 ksrsoft 的回复:
用ado连接传就可以了
能说详细点吗,用这个东西能解决哪个问题
缘中人 2012-11-28
  • 打赏
  • 举报
回复
用ado连接传就可以了
蒙飞鸿 2012-11-28
  • 打赏
  • 举报
回复
引用 3 楼 liuyich123 的回复:
xlsrw 用的很嗨哦...
这个支持OLE图片?
蒙飞鸿 2012-11-28
  • 打赏
  • 举报
回复
引用 2 楼 wg961423 的回复:
用NativeExcel试试
这个是DELPHI的吧?
liuyich123 2012-11-28
  • 打赏
  • 举报
回复
xlsrw 用的很嗨哦...

604

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder VCL组件使用和开发
社区管理员
  • VCL组件使用和开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧