找回密码
 立即注册

QQ登录

只需一步,快速开始

gnip

中级会员

120

主题

308

帖子

966

积分

中级会员

积分
966
gnip
中级会员   /  发表于:2024-9-26 16:14  /   查看:30  /  回复:2
1金币
本帖最后由 gnip 于 2024-9-26 16:15 编辑

线上
image.png269041136.png
api导出excel后
image.png304631346.png



wps查看效果

image.png195171813.png
导出后两列不一样的事我自定义了这两列的单元格,页面上单元格显示的内容和最终填报的值是区分开了,导出的单元格变成了getEditorValue的值,单元格展示给好、用户看到的实际上是paint里面做了一层映射,目前希望导出后,单元格要显示用户看到的值,这块怎么处理呢
image.png30876769.png
image.png348862304.png

2 个回复

倒序浏览
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:昨天 15:18
沙发
您好,需要深入调研下您的问题,有结论会及时通知您。


回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:昨天 17:53
板凳
本帖最后由 Ellia.Duan 于 2024-9-27 18:07 编辑

您好,

一般来说,遇到单元格的显示值label和实际值value不一样的情况,如果有导出Excel时,页面需要label值显示的需求时,我们通常做法是:
1、新建一个工作簿 let temp = new GC.Spread.Sheets.Workbook()
2、复制工作簿 temp.fromJSON(spread.toJSON())
3、重设单元格的value值为label  ,大概代码是 sheet.setValue(row,col ,sheet.getText(row,col))

但是在报表中,如果数据源是远程获取的,则数据无法保存在json文件中,即此时sheet.getTetx(row,col)获取的是空值。

如果此时执行下面的代码:fromJSON后获取数据源,此时sheet.getTetx(row,col)获取到的是原始数据源,而不是通过下拉框重新选择的数据源。
所以,没有办法重新setValue 。

针对上述问题,能想到的方案就是:在导出excel前,将当前报表的单元格值进行遍历,保存下来,然后重设。
image.png770869140.png
结果如下:
image.png429650267.png


App.vue

4.44 KB, 下载次数: 0

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