卑微的打工狗 发表于 2023-8-10 15:49:59

【15.1.4】再单元格内添加图片下载excel后边框异常

本帖最后由 Joestar.Xu 于 2023-10-20 09:28 编辑


产品:SpreadJS
版本:15.1.4
问题编号:SJS-19703
LastReview:2023/10/20
问题还在修复中。

利用shape.addPictureShape()方法在指定的单元格内添加图片,图片正常添加成功。

在 spreadjs 中展示的为单元格的有边框和下边框被图片覆盖,如下图所示

但是在下载的excel中,展示的是图片的上边框和做边框,被图片覆盖。如下图所示

spreadjs和下载的excel,对于表格展示的有些不一样。



如果,我在 shape.addPictureShape() 的时候,给图片的宽和高,分别减去1,再spreadjs中会显示正常,图片完全再表格中。如下图所示:

但是在在 excel 下载中,展示的大小有些奇怪,如下图所示:

明明只减小了1,但是展示中,好像不止减去了1



请问,如何能均衡spreadjs和下载后的excel的展示,最好都显示在表格中,不覆盖四边的任何边框。

如果无法均衡,请问如何再excel中把图片都展示再表格中

Joestar.Xu 发表于 2023-8-10 17:30:54

您好,从您的描述中无法判断问题的原因,请您提供一个可以复现这个问题的Demo。

卑微的打工狗 发表于 2023-8-11 16:44:00

Joestar.Xu 发表于 2023-8-10 17:30
您好,从您的描述中无法判断问题的原因,请您提供一个可以复现这个问题的Demo。

请问您有没有关于shape 相关的依赖,由于我没有 shape相关依赖,总是会报这个错误

sheet.shapes.addPictureShape(`pic1`, base64Pic, positionX, positionY, width, height)




Joestar.Xu 发表于 2023-8-11 17:32:46

您好,请查收附件。

卑微的打工狗 发表于 2023-8-14 11:12:20

Joestar.Xu 发表于 2023-8-10 17:30
您好,从您的描述中无法判断问题的原因,请您提供一个可以复现这个问题的Demo。

附件demo已上传,请查收

Joestar.Xu 发表于 2023-8-14 12:21:19

您好,问题已重现,这边调研一下,后续有进展我会在本贴中回复您。

本帖先做保留处理了。

Joestar.Xu 发表于 2023-8-17 08:54:28

您好,该问题已被确认为是一个Bug,目前正在修复中,等修复完毕我会在帖子下回复您。

Richard.Ma 发表于 2023-9-14 16:00:49

此问题目前正在修复中,等修复完毕我会在帖子下回复您。

Joestar.Xu 发表于 2023-10-30 16:55:01

您好,因为SpreadJS和Excel的差异,目前有一个临时的解决方案提供给您,看能否解决您的问题:

在导出前调整每一个shape的位置,然后在导出完毕后将位置再调整回去:

sheet.shapes.all().forEach((sp) => { sp.x(sp.x() + 1); sp.y(sp.y() + 1);});
let json = spread.toJSON({ includeBindingSource: true });
sheet.shapes.all().forEach((sp) => { sp.x(sp.x() - 1); sp.y(sp.y() - 1);});

卑微的打工狗 发表于 2023-11-7 09:37:40

Joestar.Xu 发表于 2023-10-30 16:55
您好,因为SpreadJS和Excel的差异,目前有一个临时的解决方案提供给您,看能否解决您的问题:

在导出前 ...

您好,问题已解决,可结贴
页: [1] 2
查看完整版本: 【15.1.4】再单元格内添加图片下载excel后边框异常