IRange.copy(IRange var1, PasteOption var2)复制文件到一个新的sheet文件名丢失
本帖最后由 Wilson.Zhang 于 2024-11-28 16:16 编辑产品:SpreadJS
版本:7.2.2
调研编号:DOCXLS-11384, DOCXLS-11399
Last Review:2024-11-28
当前进展:DOCXLS11384转需求至DOCXLS-11399,待支持FileUpload单元格类型。
你好,我这边有一个业务需求需要将多个已经上传过文件的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);
前端界面展示截图如下
本帖最后由 Lynn.Dou 于 2024-10-23 15:06 编辑
您好,
问题已复现,已记录下来进一步调研具体原因,待有进展会在贴中通知您。(DOCXLS-11384) Lynn.Dou 发表于 2024-10-23 14:49
您好,
问题已复现,已记录下来进一步调研具体原因,待有进展会在贴中通知您。(DOCXLS-11384)
应该不只是丢失文件名,如果用copy方法复制一个大一点的文件,2M或者3M文件应该都没有复制过来,点击下载复制的文件会下载失败 本帖最后由 Ellia.Duan 于 2024-10-23 17:36 编辑
您好,经确认,目前FileUpload CellType暂不支持使用Copy方法,我们后续会将其作为一个需求报告给产品。
需要了解下,为什么需要在后端用Copy来复制FileUpload CellType呢,是什么场景呢? Joestar.Xu 发表于 2024-10-23 17:26
您好,经确认,目前FileUpload CellType暂不支持使用Copy方法,我们后续会将其作为一个需求报告给产品。
...
我们这边有的业务场景需要汇总多个填表人的填表内容到一个新的sheet Joestar.Xu 发表于 2024-10-23 17:26
您好,经确认,目前FileUpload CellType暂不支持使用Copy方法,我们后续会将其作为一个需求报告给产品。
...
不使用copy,gcexcel有没有办法将有文件的单元格复制到另外一个sheet里? 已明白您的使用场景,继续调研此问题,有进展会及时联系您。 您好,SpreadJS的文件上传单元格是新功能,GcExcel还未支持此单元格类型,通过getValue虽然可以拿到base64文件值,但是无法获取fileName。
所以此功能的实现,需要等GcExcel先支持了FileUpload CellType . 需求编号是DOCXLS-11399 Ellia.Duan 发表于 2024-10-24 15:20
您好,SpreadJS的文件上传单元格是新功能,GcExcel还未支持此单元格类型,通过getValue虽然可以拿到base64 ...
大概要多久解决这个问题 本帖最后由 Ellia.Duan 于 2024-10-25 18:07 编辑
您好,DOCXLS-11399的需求,不仅仅是解决fileName丢失问题,还要做FileUpload CellType的相关支持。短时间无法实现。
还想到一个方案就是获取文件名,保存在隐藏的单元格或者tag中,当SpreadJS再次导入GcExcel合并sheet 后的json是,重新为丢失文件名的文件设置文件名。
当然,这里面有一个难点是如何获取文件名,参考下图,监听ValueChanged事件即可获取。
页:
[1]