找回密码
 立即注册

QQ登录

只需一步,快速开始

搬砖小李

金牌服务用户

14

主题

70

帖子

192

积分

金牌服务用户

积分
192
搬砖小李
金牌服务用户   /  发表于:2024-8-6 15:26  /   查看:1223  /  回复:13
本帖最后由 Wilson.Zhang 于 2024-8-21 16:41 编辑


产品:SpreadJS
版本:17.1.2
调研编号:SJS-25824
Last Review:2024-08-21
当前进展:设计如此,非功能问题。

帮忙看个问题,我这个ssjson导入官网的设计器里,然后设置如下条件进行导出,会发现表头的文字丢失了

image.png839964904.png
导出前
image.png47070616.png
导出后
image.png339315184.png
帮忙确认一下是什么原因呢

222.ssjson.zip

13.02 KB, 下载次数: 134

13 个回复

倒序浏览
Wilson.Zhang
超级版主   /  发表于:2024-8-6 17:24:31
沙发
您好!已复现您发现的问题,已经启动调研了,后续及时向您同步结论。请您耐心等待,感谢支持!
回复 使用道具 举报
搬砖小李
金牌服务用户   /  发表于:2024-8-7 09:57:48
板凳
Wilson.Zhang 发表于 2024-8-6 17:24
您好!已复现您发现的问题,已经启动调研了,后续及时向您同步结论。请您耐心等待,感谢支持!

好的
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-8-7 11:02:50
地板
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-8-9 09:12:28
5#
您好!经过调研发现,SpreadJS的表格被当作样式处理,设计如此。建议您在导出包含表格的文件时包含上样式。针对您的问题,您可以将表格转换为区域后再按照您原有的保存选项导出,即可包含表头,如下动图所示:
表格转换为区域导出.gif
回复 使用道具 举报
搬砖小李
金牌服务用户   /  发表于:2024-8-9 16:24:51
6#
Wilson.Zhang 发表于 2024-8-9 09:12
您好!经过调研发现,SpreadJS的表格被当作样式处理,设计如此。建议您在导出包含表格的文件时包含上样式。 ...

可以用官网的demo导出的sheet页里的表格就有呀,官网例子里的:sheet【强大的数据透视表】里边的绿色表格
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-8-9 17:35:46
7#
搬砖小李 发表于 2024-8-9 16:24
可以用官网的demo导出的sheet页里的表格就有呀,官网例子里的:sheet【强大的数据透视表】里边的绿色表格

由您提供的ssjson文件内容发现,其中的dataTable域中没有表头数据,如下图1所示;表头数据作为Table数据域tables中的内容存在,如下图2所示,由于SpreadJS对Table作为样式处理,而在您的场景是在导出Excel文件时不包含样式,因此导出的数据中就没有tables域中包含的数据。参考官网在线表格编辑器中的“强大的数据透视表”sheet对应的ssjson文件内容,可以看到绿色表格的表头数据在dataTable域中,如下图3所示,因此即便不包含样式导出,也能保全这部分数据。

图1:
1723192483206.png791020812.png
图2:
1723192575697.png36979674.png
图3:
1723192778088.png699960632.png

缺失Table表头数据,您是否有做过什么处理呢?

回复 使用道具 举报
搬砖小李
金牌服务用户   /  发表于:2024-8-12 10:12:16
8#
Wilson.Zhang 发表于 2024-8-9 17:35
由您提供的ssjson文件内容发现,其中的dataTable域中没有表头数据,如下图1所示;表头数据作为Table数据 ...
  1. const tableColumns = []
  2.     data.cols.forEach((item) => {
  3.       const tableColumn = new GC.Spread.Sheets.Tables.TableColumn()
  4.       tableColumn.name(item.title)
  5.       tableColumn.dataField(item.key)
  6.       tableColumns.push(tableColumn)
  7.     })
  8.     sheet.suspendPaint()
  9.     table.bindColumns(tableColumns)
  10.     table.bind(tableColumns, 'data', { cols: data.cols, data: data.data })
  11.     sheet.resumePaint()
复制代码

我们部分表格的数据来自数据库动态查询的结果,如上对列和数据进行了重新绑定,是这块的影响吗
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-8-12 17:17:07
9#
搬砖小李 发表于 2024-8-12 10:12
我们部分表格的数据来自数据库动态查询的结果,如上对列和数据进行了重新绑定,是这块的影响吗

了解您的设置方式了,我需要测验一下,之后给您同步结论。
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-8-22 16:35:38
10#
您好!您的问题得到解决了吗?我们测验了包括您提供的设置方式在内的三种设置方式:通过table.bind、通过addFromDataSource、通过setArray,在不包含样式导出的情况下,只有通过setArray设置的Table保留了Table表头,其他两种均没有保留。因此当前导出的结果和您设置Table的方式有一定联系,咱们使用Table的便利性在于其提供的筛选、汇总等辅助功能,我想请教下您之所以在导出为Excel文件时不包含样式的原因是什么呢?
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部