找回密码
 立即注册

QQ登录

只需一步,快速开始

表格6666
金牌服务用户   /  发表于:2023-11-30 16:09  /   查看:1079  /  回复:3
1金币
本帖最后由 Lynn.Dou 于 2024-3-19 14:02 编辑

产品:GcExcel
版本:【16.2.2】
问题编号:DOCXLS-9367
LastReview:2024-3-19
目前是GcExcel的一个功能限制,暂不支持SpreadJS所有的复制选项,作为新的功能需求预计后面版本支持。
提供workaround方案

只期望复制区域的行列宽高和样式,实际上把我们自定义的实体数据也给复制覆盖掉了。 这个怎么控制?

image.png147919615.png

3 个回复

倒序浏览
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-11-30 18:10:05
沙发
本帖最后由 Richard.Ma 于 2023-11-30 18:28 编辑

调查了一下,问题原因是在PasteType.Formats这个枚举值上,需要研发调研一下是控件预期的行为还是bug。
问题编号:DOCXLS-9367

理论上来说确实不应该影响Tag
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-1-5 17:22:32
板凳
本帖最后由 Ellia.Duan 于 2024-1-8 17:44 编辑

目前是GcExcel的一个功能限制,暂不支持SpreadJS所有的复制选项,作为新的功能需求预计V7.1提供支持
临时解决办法的话,建议直接通过代码获取和设置格式
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-1-17 15:29:05
地板
更新一下问题进展,此前中间有计划是优先修复这个问题。但是由于GcExcel 不支持 tag/bindingpath/etc 等复制标志,我一些客户正在使用 format 标志来复制标签,如果我们更改它,将对其他客户造成breakchange。

因此,这个错误还是需要按照原计划在支持复制选项后修复,无法单独修复。

在目前的使用中,可以参考下面的解决方案

  1. var sheet = workbook.Worksheets[0];
  2. sheet.Cells[0, 0].Tag = "abcd";
  3. sheet.Cells[0, 0].Copy(sheet.Cells[1, 1], new PasteOption() { PasteType = PasteType.Formats });
  4. sheet.Cells[1, 1].Tag = null;
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部