找回密码
 立即注册

QQ登录

只需一步,快速开始

采筑-周星

金牌服务用户

5

主题

16

帖子

49

积分

金牌服务用户

积分
49
采筑-周星
金牌服务用户   /  发表于:2021-8-24 14:27  /   查看:4526  /  回复:12
1金币
本帖最后由 采筑-周星 于 2021-8-24 14:33 编辑

使用toJSON方法导出单个sheet为json格式,原单元格保留两位小数,导出的json小数为多位
操作步骤
1.导入EXCEL  见附件
2.代码
`
var serializationOption = {
  ignoreFormula: false,
  ignoreStyle: true,
  rowHeadersAsFrozenColumns: true,
  columnHeadersAsFrozenRows: true
};`
`JSON.stringify(this.spread.getSheet(0).toJSON(serializationOption));`


image.png431160888.png

3.这个值里面的有两个单元格  值为1.222222  保留两位小数为 1.22,但是传给后端的是1.222222
image.png228314818.png


image.png484606627.png


请帮忙看看,谢谢

新建 Microsoft Excel 工作表.xlsx

8.1 KB, 下载次数: 191

12 个回复

正序浏览
采筑-周星
金牌服务用户   /  发表于:2021-8-25 10:07:19
12#
Clark.Pan 发表于 2021-8-24 16:56
GcExcel是纯服务器端操作组件,哪来的界面显示?如果后续还有做其他操作,就一并说清楚

整个过程就是,前端导出一个sheet页面为JSON,后端接收JSON保存,前端拿到这个JSON做回显
回显发现以上的问题
回复 使用道具 举报
采筑-周星
金牌服务用户   /  发表于:2021-8-25 09:56:58
11#
本帖最后由 采筑-周星 于 2021-8-25 09:59 编辑
Clark.Pan 发表于 2021-8-24 16:56
GcExcel是纯服务器端操作组件,哪来的界面显示?如果后续还有做其他操作,就一并说清楚

GCExcel 会将sheet导出的JSON,还原到后端的EXCEL中,查看EXCEL,显示的意思整个操作目标就是  前端填好的数据,将其中的一页导出成一个JSON,将JSON传到后端,后端将JSON写到对应的EXCEL文件中,  写完后打开EXCEL,发现以上的问题
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-8-24 16:56:29
10#
GcExcel是纯服务器端操作组件,哪来的界面显示?如果后续还有做其他操作,就一并说清楚
回复 使用道具 举报
采筑-周星
金牌服务用户   /  发表于:2021-8-24 16:15:05
9#
Clark.Pan 发表于 2021-8-24 16:05
你后端GCExcel进行回显,凭什么认为值不对了呢,是用API获取之后发现的吗?

显示不一样了,在spreadJS显示的formatter后的值,在GCExcel显示的是value
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-8-24 16:05:37
8#
你后端GCExcel进行回显,凭什么认为值不对了呢,是用API获取之后发现的吗?
回复 使用道具 举报
采筑-周星
金牌服务用户   /  发表于:2021-8-24 15:19:55
7#
Clark.Pan 发表于 2021-8-24 15:13
我没有说不能吧,是说你用错了而已。简单来说,你要获取1.222222222就用getValue。

你要获取1.22就用get ...

大佬,是我没有描述清楚,这个文件只是一个示例,实际上是一个很大的报表,我需要的是整个sheet页使用toJSON转成一个JSON,后端使用这个JSON进行回显,出现的这个问题
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-8-24 15:13:12
6#
我没有说不能吧,是说你用错了而已。简单来说,你要获取1.222222222就用getValue。
image.png891205139.png
你要获取1.22就用getText
image.png378893431.png
你要想获取formatter就用getNumberFormat
image.png27644041.png
回复 使用道具 举报
采筑-周星
金牌服务用户   /  发表于:2021-8-24 15:07:41
5#
Clark.Pan 发表于 2021-8-24 15:00
跟serializationOption没有关系,如果您后端用的是GcExcel,那么就用它的getText方法去获取



就是说这种格式是不能带过去给到GCExcel的吗?我的理解是这种格式如果能带过去,那就解决了
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-8-24 15:00:07
4#
跟serializationOption没有关系,如果您后端用的是GcExcel,那么就用它的getText方法去获取
回复 使用道具 举报
采筑-周星
金牌服务用户   /  发表于:2021-8-24 14:57:44
3#
Clark.Pan 发表于 2021-8-24 14:45
这是正常现象,因为您的单元格真实值就是1.222222222,只是因为设置了formatter导致显示效果被formatter成 ...

serializationOption   是否可以通过这个配置项来解决
我这边适用于后端的GCExcel回显的  值这样传过去本质上是没有问题的,但是后端GCEXcel和spreadJS应该是一样吧,用spread导出的JSON,导入到GCExcel  应该是一样的吧
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部