找回密码
 立即注册

QQ登录

只需一步,快速开始

Litt101

注册会员

16

主题

52

帖子

174

积分

注册会员

积分
174

[已处理] v12获取样式问题

Litt101
注册会员   /  发表于:2024-9-11 16:59  /   查看:685  /  回复:11
1金币
使用spread.importExcel导入excel,
保存后根据 spread.fromJSON加载,
我们处理的时候,通过以下代码获取样式

var cellStyle = sheet.getStyle(cell.row, cell.col, GC.Spread.Sheets.SheetArea.viewport, true) || new GC.Spread.Sheets.Style();
var formatter = cellStyle.formatter;

但是附件中的表,U6,V6,W6,X6四个单元格获取的formatter 为undefined,请问什么情况下,cellStyle.formatter为undefined,我们好避免一下

预算表测试.zip

24.3 KB, 下载次数: 14

11 个回复

正序浏览
Wilson.Zhang
超级版主   /  发表于:2024-9-25 15:04:40
12#
您好!由于您较长时间未回复,且从跟帖回复中了解到问题已得到了有效解答,那就结帖了。如有问题,欢迎发新帖沟通。
回复 使用道具 举报
Litt101
注册会员   /  发表于:2024-9-14 15:32:23
10#
Wilson.Zhang 发表于 2024-9-12 17:39
那也可以通过Worksheet:getFormatter()获取单元格上的数据格式,如果没有设置过formatter,一样会返回und ...

老师,你好,我们的客户想明确下获取不到单元格样式问题出现的原因,后期可避免类似的问题
回复 使用道具 举报
Litt101
注册会员   /  发表于:2024-9-14 15:16:57
9#
image.png397564696.png

预算表测试-风电.zip

16.24 KB, 下载次数: 8

回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-9-12 17:39:58
8#
Litt101 发表于 2024-9-12 16:57
excel应该都有默认的样式,导入进来应该有样式才对,我们主要是获取样式,看单元格是否设置了精度,然后 ...

那也可以通过Worksheet:getFormatter()获取单元格上的数据格式,如果没有设置过formatter,一样会返回undefined,如下动图所示:
获取formatter.gif
回复 使用道具 举报
Litt101
注册会员   /  发表于:2024-9-12 16:57:41
7#
Wilson.Zhang 发表于 2024-9-12 16:42
没有设置formatter的情况下就是undefined,我们确实没能复现您所描述的问题,您可以试运行在4楼给您提供 ...

excel应该都有默认的样式,导入进来应该有样式才对,我们主要是获取样式,看单元格是否设置了精度,然后再进一步处理
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-9-12 16:42:09
6#
Litt101 发表于 2024-9-12 13:32
var cellStyle = sheet.getStyle(cell.row, cell.col, GC.Spread.Sheets.SheetArea.viewport, true) || n ...

没有设置formatter的情况下就是undefined,我们确实没能复现您所描述的问题,您可以试运行在4楼给您提供的demo,在demo中使用了您提供的代码片段获取U6、V6、W6、X6等四个单元格的样式formatter。由于未能复现问题,无法进一步深入判断分析, 猜测您可能需要获取这几个单元格的样式formatter再做其他业务处理,请问下您的需求场景是什么呢?咱们一块探讨下。
回复 使用道具 举报
Litt101
注册会员   /  发表于:2024-9-12 13:32:20
5#
Wilson.Zhang 发表于 2024-9-12 08:52
因为SpreadJS至今已经迭代更新了很多版本了,版本之间的相同功能可能存在一些改进增强,因此确认版本是为 ...

var cellStyle = sheet.getStyle(cell.row, cell.col, GC.Spread.Sheets.SheetArea.viewport, true) || new GC.Spread.Sheets.Style();
var formatter = cellStyle.formatter;
老师,什么情况下上面的formatter 会是undefined啊,项目上确实出现了这样的情况
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-9-12 08:52:55
4#
Litt101 发表于 2024-9-11 18:20
版本是12.1.0,老师,这个和excel的版本有关系吗

因为SpreadJS至今已经迭代更新了很多版本了,版本之间的相同功能可能存在一些改进增强,因此确认版本是为了更准确的聚焦问题、分析问题。我们在12.1.0版本也测试了,也可以获取到上述四个单元格的formatter,附件demo即我们测试使用的demo,您可以参考。

V12.1.0获取样式.html

7.98 KB, 下载次数: 14

回复 使用道具 举报
Litt101
注册会员   /  发表于:2024-9-11 18:20:12
3#
Wilson.Zhang 发表于 2024-9-11 17:56
您好!我们在12.0.0版本导入您提供的.xlsx文件,并使用您提供的代码获取U6、V6、W6、X6这几个单元格的样式f ...

版本是12.1.0,老师,这个和excel的版本有关系吗
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-9-11 17:56:03
2#
您好!我们在12.0.0版本导入您提供的.xlsx文件,并使用您提供的代码获取U6、V6、W6、X6这几个单元格的样式formatter,均可获得有效内容,如下动图所示:
V12获取样式.gif

请问下您使用的具体版本号是多少呢?
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部