找回密码
 立即注册

QQ登录

只需一步,快速开始

鹅鹅鹅blue
金牌服务用户   /  发表于:2023-12-13 16:37  /   查看:1303  /  回复:10
本帖最后由 Richard.Huang 于 2023-12-28 17:09 编辑

产品:SpreadJS
版本:V16.2.4

16.2.4 含图片的excel上传预览,图片未渲染出来
含图片的多个sheet页的excel,模版在附件中。
通过spread的open方法打开,页面渲染后,只有第一次的sheet3中含有图片,切换到别的sheet页中均没有图片,再切回sheet3,sheet3中也没有图片了。

bill_face_002_oldModel.xlsx

23.81 KB, 下载次数: 74

10 个回复

倒序浏览
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-12-13 18:40:44
沙发
您好,
将您提供的xlsx文件导入至官网组件版设计器(V16.2.6),发现3个sheet中的图片均是可以正常显示的,如下图:
image.png375781554.png
请问您项目中是如何设置open相关代码的呢?请提供一个可复现demo,我们基于demo代码调研下问题原因。
回复 使用道具 举报
鹅鹅鹅blue
金牌服务用户   /  发表于:2023-12-18 13:13:13
板凳
你好 目前我这边发现是sheet.shapes.clear();影响的;在切换sheet页时会调用activeSheetChanged,从而调用clearShapes方法。这样会导致切换sheet页后,图片消失,请问有什么解决办法吗
image.png665760192.png image.png588476867.png
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-12-18 15:12:18
地板
请问为什么在切换sheet时要清除shape呢?如您所述,是否不清除shape该问题就可以解决了呢。
回复 使用道具 举报
鹅鹅鹅blue
金牌服务用户   /  发表于:2023-12-18 15:20:11
5#
sheet中的shape具体指什么呢,这段代码是之前开发人员写的
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-12-18 17:34:34
6#
关于shape的介绍以及具体应用您可以参考下学习指南,比如基本形状、图片形状等。
https://demo.grapecity.com.cn/sp ... pes/overview/purejs
回复 使用道具 举报
Richard.HuangSpreadJS 开发认证
超级版主   /  发表于:2023-12-28 17:10:04
7#
您好,请问楼主的问题是否得到解决,如果仍然存在问题,欢迎继续跟帖询问
回复 使用道具 举报
鹅鹅鹅blue
金牌服务用户   /  发表于:2024-1-2 15:34:30
8#
没有得到解决,还是这个问题,目前没有解决方法
回复 使用道具 举报
鹅鹅鹅blue
金牌服务用户   /  发表于:2024-1-2 15:38:11
9#
由于我们项目在编辑页面时需要圈选扩展的单元格范围,所以在编辑页面以及切换sheet页面时会执行清除shape函数,先清除原有excel中的形状,再进行圈选单元格范围。但这导致含有图片的excel在编辑页面不会正常显示出图片,以及切换sheet页时,图片会被清除。预览页面只是预览excel,不对excel进行操作,所以预览页面的代码不执行清除shape函数,使得预览页面的图片会正常显示,但 编辑页面就会清除图片,显示不正常
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-1-2 16:10:50
10#
原因其实如上所述,就是因为执行了清除shape的代码,所以图片没有显示。这块属于咱们的业务逻辑实现,建议结合您的实际业务情况做下判断,来控制是否需要清除shape,从SpreadJS产品本身来看的话,没有更好的建议了。
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部