找回密码
 立即注册

QQ登录

只需一步,快速开始

menghuanyunxia

高级会员

111

主题

396

帖子

1075

积分

高级会员

积分
1075

活字格认证微信认证勋章元老葡萄

testPicture(20131023083229).zip (1.44 MB, 下载次数: 345)

19 个回复

倒序浏览
menghuanyunxia
高级会员   /  发表于:2013-10-23 09:31:00
沙发
回复 1楼menghuanyunxia的帖子

上传的excel为10个sheet每个sheet1000张图片的excel文件,由于一个sheet一万张图片性能太低几乎无法生成
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2013-10-23 10:43:00
板凳
回复 2楼menghuanyunxia的帖子

menghuanyunxia 你好,

你描述的现象我已经重现了。
1.通过 Spread 加载Excel文件较慢。
2.加载之后,切换 Sheet 比较慢。
这个问题已经提交产品组,我这边会继续跟踪,并且把结果反馈给你。

附件中的 Excel 是测试文件,请问实际应用的场景是什么,需要使用大量的图片?提供相关线索会对我们理解及调查问题有所帮助。
回复 使用道具 举报
menghuanyunxia
高级会员   /  发表于:2013-10-23 10:49:00
地板
比如我根据某个行政区域的小区进行画图,每个小区画一张图片,那就可能大于一万张图片
回复 使用道具 举报
menghuanyunxia
高级会员   /  发表于:2013-10-23 10:54:00
5#
我认为贵公司的farpoint加载excel和画excel可以参考excel的加载方式用虚拟模式实现,贵公司现在实现的的加载excel方法,一次性把文件读取到内存中,不是最优的方法,excel中,打开文件的时候是一直占用了这个excel文件,它只加载了,文件的一部分资源,这样既不耗损太多的内存,并且加载excel及其快,你可以用刚才我发给你的文件试一下excel打开,并且查看一下资源管理器里面的excel内存变化情况,也许他的实现方式对你们产品的性能提搞有很大的帮助
回复 使用道具 举报
menghuanyunxia
高级会员   /  发表于:2013-10-23 10:56:00
6#
顺便问一下,我如何在sheet中拿到当前该sheet的所有添加的图片对象?
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2013-10-23 12:11:00
7#
回复 6楼menghuanyunxia的帖子

可以通过以下方法获取图片及 Shape 集合:

  1. FarPoint.Win.Elements shapes = this.fpSpread1.Sheets[0].DrawingContainer.ContainedObjects;

  2.             foreach (var item in shapes)
  3.             {
  4.                 FarPoint.Win.Spread.DrawingSpace.PSShape shape = item as FarPoint.Win.Spread.DrawingSpace.PSShape;
  5.             }
复制代码
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2013-10-31 12:21:00
8#
回复 5楼menghuanyunxia的帖子

menghuanyunxia 你好,

这个问题产品组已经回复,目前没有好的办法解决大量图片加载慢的问题。

感谢你提出的建议和问题反馈,我也把你的建议反馈给了USA产品组,对提升产品的性能很有建设性。得到了产品组的重视。

加载大量图片慢的问题,已经列入修改计划中,在下一版本(2014年4月份左右)中会修改。

还希望您能够继续支持葡萄城控件,反馈问题和意见。

谢谢
回复 使用道具 举报
menghuanyunxia
高级会员   /  发表于:2013-11-1 09:15:00
9#
呵呵,不用谢
回复 使用道具 举报
menghuanyunxia
高级会员   /  发表于:2013-11-1 09:21:00
10#
其实关键是内存占用太多了,解决这个问题应该就会有很大的提高,我上次提交给你的测试例子只是一张空白图片,如果该图片为非空白图片,一千张左右的图片就会占用掉将近1.2G的内存,Chart图表同样存在这个问题
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部