找回密码
 立即注册

QQ登录

只需一步,快速开始

zhangty

初级会员

29

主题

63

帖子

240

积分

初级会员

积分
240
zhangty
初级会员   /  发表于:2022-6-8 10:07  /   查看:1289  /  回复:3
5金币
各位专家好!我excel绑定了表格。如图第33行。里面有几个单元格是多列合并的
image.png227740782.png
但是将其导出为EXCEL文件后,第34行单元格被拆分了。
image.png555303649.png
导致我系统数据绑定的时候格式混乱。

ssjson文件见附件,请问这个该怎么处理。

SpecialPart.zip

952.45 KB, 下载次数: 25

最佳答案

查看完整内容

后面这个option没写全,请参照一楼的回复补充完全再试一下。 若还不行,还有另一个方案可以试一下,可以参考附件的demo 以上两个方案都有一个注意点就是在序列化的时候需要加上这个option,否则在默认情况下导出是不带有数据源的。

3 个回复

倒序浏览
最佳答案
最佳答案
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2022-6-8 10:07:14
来自 4#
后面这个option没写全,请参照一楼的回复补充完全再试一下。
image.png523308715.png

若还不行,还有另一个方案可以试一下,可以参考附件的demo
导出表格.html (4.04 KB, 下载次数: 20)
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2022-6-8 13:52:58
2#
这是因为表单里用的是一个表格table,而Excel中表格是不允许有合并单元格存在的,除非不用表格。或者在导出前将表格转换成普通单元格,例如sheet.tables.remove(table, GC.Spread.Sheets.Tables.TableRemoveOptions.keepData | GC.Spread.Sheets.Tables.TableRemoveOptions.keepStyle)


但这种方法将会造成导出的区域变成普通单元格,失去表格相关的特性。所以慎用。
根本原因是如果有导入导出Excel的需求,压根在表格中就不该出现合并单元格,设计时候就需要杜绝这种情况。
回复 使用道具 举报
zhangty
初级会员   /  发表于:2022-6-8 16:13:57
3#
image.png952808227.png
如上图,本来有数据的:
进行下面代码操作后:表内的数据没有了。

for (var i = 0; i < sheetCount; i++) {
             var activeSheet = spread.getSheet(i);
             activeSheet.tables.all().forEach(function(table){
                 activeSheet.tables.remove(table,GC.Spread.Sheets.Tables.TableRemoveOptions.keepData | GC.Spread.Sheets.Tables.TableRemo )
             })}
image.png398924254.png

请问怎么样在移除表的同时,保持数据不丢失?
image.png47795714.png
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部