找回密码
 立即注册

QQ登录

只需一步,快速开始

cmbsjdev

金牌服务用户

86

主题

307

帖子

883

积分

金牌服务用户

积分
883
cmbsjdev
金牌服务用户   /  发表于:2024-10-23 11:25  /   查看:145  /  回复:9
1金币
你好,我这边有一个业务需求需要将多个已经上传过文件的sjs文件汇总到一个新的sheet页里,但是在使用copy(IRange var1, PasteOption var2)方法复制数据区域时,文件确实复制过去了,但是文件名丢失了。
下面是复制代码:
PasteOption pasteOption = new PasteOption();
        EnumSet<PasteType> types = EnumSet.of(PasteType.Values, PasteType.ColumnWidths, PasteType.RowHeights, PasteType.NumberFormats,PasteType.Formats, PasteType.Formulas);
        pasteOption.setPasteType(types);  worksheetTemp.getRange(fromRange).copy(targetWorksheet.getRange(toRange),pasteOption);

前端界面展示截图如下

ae06d30110db4eeb8f86ba9a83a83804_IMAGE_1729653804361.jpg

9 个回复

倒序浏览
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:6 天前
沙发
本帖最后由 Lynn.Dou 于 2024-10-23 15:06 编辑

您好,
问题已复现,已记录下来进一步调研具体原因,待有进展会在贴中通知您。(DOCXLS-11384)
回复 使用道具 举报
cmbsjdev
金牌服务用户   /  发表于:6 天前
板凳
Lynn.Dou 发表于 2024-10-23 14:49
您好,
问题已复现,已记录下来进一步调研具体原因,待有进展会在贴中通知您。(DOCXLS-11384)

应该不只是丢失文件名,如果用copy方法复制一个大一点的文件,2M或者3M文件应该都没有复制过来,点击下载复制的文件会下载失败
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:6 天前
地板
本帖最后由 Ellia.Duan 于 2024-10-23 17:36 编辑

您好,经确认,目前FileUpload CellType暂不支持使用Copy方法,我们后续会将其作为一个需求报告给产品。

需要了解下,为什么需要在后端用Copy来复制FileUpload CellType呢,是什么场景呢?
回复 使用道具 举报
cmbsjdev
金牌服务用户   /  发表于:5 天前
5#
Joestar.Xu 发表于 2024-10-23 17:26
您好,经确认,目前FileUpload CellType暂不支持使用Copy方法,我们后续会将其作为一个需求报告给产品。

...

我们这边有的业务场景需要汇总多个填表人的填表内容到一个新的sheet
回复 使用道具 举报
cmbsjdev
金牌服务用户   /  发表于:5 天前
6#
Joestar.Xu 发表于 2024-10-23 17:26
您好,经确认,目前FileUpload CellType暂不支持使用Copy方法,我们后续会将其作为一个需求报告给产品。

...

不使用copy,gcexcel有没有办法将有文件的单元格复制到另外一个sheet里?
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:5 天前
7#
已明白您的使用场景,继续调研此问题,有进展会及时联系您。
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:5 天前
8#
您好,SpreadJS的文件上传单元格是新功能,GcExcel还未支持此单元格类型,通过getValue虽然可以拿到base64文件值,但是无法获取fileName。
所以此功能的实现,需要等GcExcel先支持了FileUpload CellType . 需求编号是DOCXLS-11399
回复 使用道具 举报
cmbsjdev
金牌服务用户   /  发表于:4 天前
9#
Ellia.Duan 发表于 2024-10-24 15:20
您好,SpreadJS的文件上传单元格是新功能,GcExcel还未支持此单元格类型,通过getValue虽然可以拿到base64 ...

大概要多久解决这个问题
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:4 天前
10#
本帖最后由 Ellia.Duan 于 2024-10-25 18:07 编辑

您好,DOCXLS-11399的需求,不仅仅是解决fileName丢失问题,还要做FileUpload CellType的相关支持。短时间无法实现。



还想到一个方案就是获取文件名,保存在隐藏的单元格或者tag中,当SpreadJS再次导入GcExcel合并sheet 后的json是,重新为丢失文件名的文件设置文件名。
当然,这里面有一个难点是如何获取文件名,参考下图,监听ValueChanged事件即可获取。
image.png52720335.png



回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部