烟雨入墨 发表于 2024-11-18 14:14:57

【15.2】excel后台下载

我们有批量下载的功能,当前spreadjs是否有优化的方案,当前情况必须每个excel都实际渲染出来再下载才可以,耗时又耗力

Joestar.Xu 发表于 2024-11-18 14:14:58

您好,如果只是需要导出为Excel,不需要将其渲染到页面上,只需要new多个workBook后,分别执行导出和导出的接口即可。

或者也可以考虑使用GcExcel,GcExcel作为后端组件,相比前端导出速度更快,性能更好。

烟雨入墨 发表于 2024-11-18 15:22:36

GcExcel的使用文档地址可以给一个吗

Joestar.Xu 发表于 2024-11-18 15:33:58

https://www.grapecity.com.cn/developer/grapecitydocuments/excel-java/docs/overview

烟雨入墨 发表于 2024-11-18 15:42:33

GcExcel应该不适用于该情况吧,毕竟前端有UI控制,有自定义单元格等扩展内容,如果使用GcExcel就需要后端实现一套一样的内容,不是很现实

Joestar.Xu 发表于 2024-11-18 17:31:21

您好,注意到您说有自定义单元格,自定义单元格无论是SpreadJS还是GcExcel都是无法导出为Excel文件的。

烟雨入墨 发表于 2024-11-19 16:14:26

Joestar.Xu 发表于 2024-11-18 17:31
您好,注意到您说有自定义单元格,自定义单元格无论是SpreadJS还是GcExcel都是无法导出为Excel文件的。

我们的自定义单元格其实都是使用了spreadjs内部的api去控制和重绘的,不影响正常下载为excel,但是这部分实时渲染的逻辑是写在前端的,正常的单个下载是等待前端处理完成才会给用户点击的,如果使用gcexcel这部分前端处理的逻辑就没了,由于逻辑很复杂,也不太可能让后端再去实现一遍。

目前我们的方案是使用无头浏览器在服务端模拟下载,但是这种方式耗时耗力。

Joestar.Xu 发表于 2024-11-20 11:54:48

您好,和您确认一下,您说的自定义单元格指的是这个链接中的功能吗?

https://demo.grapecity.com.cn/spreadjs/SpreadJSTutorial/features/cells/cell-types/custom#timestamp

一般来说,绝大多数的客户会使用自定义单元格实现诸如AutoComplete下拉框等自定制的逻辑和功能,这些功能无法被Excel所接受和兼容,因此导出为Excel时这部分数据将会被丢失。

不过看您的描述我不太确定您是否使用了我理解的自定义单元格,如果您只是在导出前调用了部分SpreadJS的API,大多数情况下都是可以被导出到Excel中的,并且GcExcel也会兼容这些数据。

也就是说,您可以在SpreadJS中将所有您需要执行的操作执行完,然后将JSON或SJS文件导出传给GcExcel,让GcExcel导出为Excel即可。

Wilson.Zhang 发表于 2024-11-28 16:53:16

您好!由于您较长时间未回复,且从跟帖回复中了解到问题已得到有效解答,那就结帖了。如有新问题,欢迎发新帖沟通。
{:5_110:}
页: [1]
查看完整版本: 【15.2】excel后台下载