找回密码
 立即注册

QQ登录

只需一步,快速开始

tangchaolf

注册会员

13

主题

34

帖子

139

积分

注册会员

积分
139

活字格认证

[已处理] spreadJs导出Excel

tangchaolf
注册会员   /  发表于:2016-10-9 10:30  /   查看:3802  /  回复:7
原spread中有组合框,value和text值不一致,导出的时候想导出的是text值,现在的结果是导出Excel后组合框位置显示的是value值,请问应该怎样设置

7 个回复

倒序浏览
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2016-10-9 10:58:53
沙发
您好,您可以在导出是设置 editorValueType
http://sphelp.grapecity.com/webh ... ditorValueType.html
回复 使用道具 举报
tangchaolf
注册会员   /  发表于:2016-10-9 11:24:49
板凳
dexteryao 发表于 2016-10-9 10:58
您好,您可以在导出是设置 editorValueType
http://sphelp.grapecity.com/webhelp/SpreadJSWeb/webframe.h ...

cellType2.editorValueType(GcSpread.Sheets.EditorValueType.Text);  
利用这句代码,替换为我的组合框,导出的Excel依然是value值,而不是text值
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2016-10-9 11:53:46
地板
我试了下,需要在valuechange之前就设置好editorValueType,所以您需要在定义cellType的时候就设置editorValueType

如果在打印时候在修改,需要用cell.value(cell.text())重新设置下value再设置。
回复 使用道具 举报
tangchaolf
注册会员   /  发表于:2016-10-9 13:21:33
5#
dexteryao 发表于 2016-10-9 11:53
我试了下,需要在valuechange之前就设置好editorValueType,所以您需要在定义cellType的时候就设置editorVa ...

1 valuechange之前定义好,这个肯定不行,因为我定义的时候必须要是value类型的才行,因为value和text不一致,而我保存到数据库的是value值
2 您说的第二种方法是需要在导出Excel前,对每一个组合框的cell重新设置一遍么?如果我这是一列值或者好几列的值,也需要一个个设置么?
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2016-10-9 16:16:56
6#
对,这个只能遍历去设置,导出后再设置回来。
还有个方法就是直接去修改导出的json,这样效率高而且简单一些。

判断 json.sheets.Sheet1.data.dataTable["2"]["6"].style.cellType 如果是一个Combo
那么将json.sheets.Sheet1.data.dataTable["2"]["6"].value 重新赋值。
然后再回传服务器导出
回复 使用道具 举报
tangchaolf
注册会员   /  发表于:2016-10-9 16:55:16
7#
dexteryao 发表于 2016-10-9 16:16
对,这个只能遍历去设置,导出后再设置回来。
还有个方法就是直接去修改导出的json,这样效率高而且简单一 ...

好吧 我了解了 谢谢。
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2016-10-9 17:00:19
8#
嗯,您试试。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部