nqq 发表于 2024-12-6 11:19:56

16.0.1 前端spreadjs导出execl问题



在当前报表页面可以正常导出

如何导出按钮在列表页面,如何导出这个ecxel呢:lol

Wilson.Zhang 发表于 2024-12-6 11:19:57

nqq 发表于 2024-12-6 14:38
您好,这个按钮我自定义在报表页面可以获取到spread实例,可以正常导出。

现在有个需求是在进这个报表 ...
根据您的描述可以想象现象,但是不清楚您的代码组织。

您对每个sheet页或ReportSheet页都设置了自定义的导出按钮吗?应该只需要设置一个就可以了吧,与Designer或Workbook对应的DOM元素同级别处定义一个button按钮。

如果自定义按钮无法获取到Designer或Workbook实例,可以通过findControl方法获取,如下代码所示:
//获取Designer实例
var designer = GC.Spread.Sheets.Designer.findControl('gc-designer-container')
let spread = designer.getWorkbook();

//如果未使用Designer,那么获取Workbook实例
var spread = GC.Spread.Sheets.findControl('ss');
如果我的理解有偏差,需要您详细介绍下您的需求场景,咱们据此讨论分析。

Wilson.Zhang 发表于 2024-12-6 14:20:18

您好!请问您是否自定义了一个按钮,想通过该按钮自定义导出功能?导出功能的接口为Workbook:export(),该接口支持的导出文件类型包括ssjson、xlsx、csv等。Workbook:savePDF()支持导出PDF,如果需要将sheet内容导出为sjs文件类型,需要使用Workbook:save()。

可以参考官网教程了解SpreadJS的导入导出功能:
https://demo.grapecity.com.cn/spreadjs/SpreadJSTutorial/features/spreadjs-file-format/overview/purejs

nqq 发表于 2024-12-6 14:38:12

Wilson.Zhang 发表于 2024-12-6 14:20
您好!请问您是否自定义了一个按钮,想通过该按钮自定义导出功能?导出功能的接口为Workbook:export(),该 ...

您好,这个按钮我自定义在报表页面可以获取到spread实例,可以正常导出。

现在有个需求是在进这个报表之前的一个页面自定义了一个导出按钮,这个获取不到spread实例,这个要怎么导出呢?

Joestar.Xu 发表于 2024-12-6 15:24:02

那么你需要在点击这个导出按钮的时候先创建一个spread实例,然后将SSJSON/SJS导入到这个实例对象中,再调用export接口导出。
页: [1]
查看完整版本: 16.0.1 前端spreadjs导出execl问题