找回密码
 立即注册

QQ登录

只需一步,快速开始

Litt101

注册会员

15

主题

51

帖子

168

积分

注册会员

积分
168
Litt101
注册会员   /  发表于:2024-10-23 09:55  /   查看:100  /  回复:9
1金币
V12版本,设置公式的单元格,比率样式失效 image.png483337706.png

9 个回复

倒序浏览
Wilson.Zhang
超级版主   /  发表于:5 天前
沙发
您好!请问您需要呈现的格式是否如下图所示?如果是,则需要将格式修改为'0.00_;[Red](0.00)%'。如果不是,需要您详细介绍下您的需求。
1729650963911.png437324218.png
回复 使用道具 举报
Litt101
注册会员   /  发表于:5 天前
板凳
Wilson.Zhang 发表于 2024-10-23 10:36
您好!请问您需要呈现的格式是否如下图所示?如果是,则需要将格式修改为'0.00_;[Red](0.00)%'。如果不是, ...

老师我们想要的格式是1700%,不是上图带括号的那种
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:5 天前
地板
Litt101 发表于 2024-10-23 11:25
老师我们想要的格式是1700%,不是上图带括号的那种

了解您的需求了,如下图所示,左侧显示格式对应的格式文本为右侧浏览器控制台中的内容。
百分比格式.png221547240.png

可以参考如下代码设置百分比格式:
  1. //  百分比,无小数部分
  2. sheet.setFormatter(7, 0, '0%');
  3. //  百分比,无小数部分,红色字体
  4. sheet.setFormatter(7, 0, '0_;[Red]%');
复制代码

回复 使用道具 举报
Litt101
注册会员   /  发表于:5 天前
5#
Wilson.Zhang 发表于 2024-10-23 14:34
了解您的需求了,如下图所示,左侧显示格式对应的格式文本为右侧浏览器控制台中的内容。

老师,我们是通过excel直接导入的表格样式,然后选中单元格,设置比率样式,
我们处理设置比率样式这个操作,是在原样式直接处理,代码是sheet.getCell(row,col).formatter(oldFormat + "%");请问这种方式有什么问题?我发的图片展示不了%是因为多了什么样式吗?
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:4 天前
6#
Litt101 发表于 2024-10-23 17:08
老师,我们是通过excel直接导入的表格样式,然后选中单元格,设置比率样式,
我们处理设置比率样式这个 ...

您可以通过sheet.getCell(row, col).formatter()排查下单元格中原来是否存在formatter,如果单元格原始并设置formatter,那根据您的代码获取所得的oldFormat值为undefined,而在undefined后接上%不是正确的数据格式。
回复 使用道具 举报
Litt101
注册会员   /  发表于:4 天前
7#
Wilson.Zhang 发表于 2024-10-24 09:25
您可以通过sheet.getCell(row, col).formatter()排查下单元格中原来是否存在formatter,如果单元格原始并 ...

我们已经判断单元格是否存在formatter了,如果存在的话,就在formatter后面加上%号作为新的formatter,如果不存在,我们则设置默认值0.00%,我认为这个写法是没有问题的老师,是什么原因导致'0.00_);[Red]\\(0.00\\)%'不能显示为比率格式呢?只是因为这个单元格上存在公式吗?
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:4 天前
8#
Litt101 发表于 2024-10-24 13:48
我们已经判断单元格是否存在formatter了,如果存在的话,就在formatter后面加上%号作为新的formatter,如 ...

如下动图所示,在Excel中设置自定义单元格格式“0.00_);[Red]\\(0.00\\)%”,Excel提示错误信息。在单元格格式上,SpreadJS与Excel保持一致,也就是说无法识别上述单元格格式。
自定义单元格格式.gif
回复 使用道具 举报
Litt101
注册会员   /  发表于:3 天前
9#
Wilson.Zhang 发表于 2024-10-24 16:52
如下动图所示,在Excel中设置自定义单元格格式“0.00_);[Red]\\(0.00\\)%”,Excel提示错误信息。在单元 ...

老师,有什么办法能够判断一下,当前单元格获取的formatter是否是有效的formatter吗
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:3 天前
10#
Litt101 发表于 2024-10-25 10:01
老师,有什么办法能够判断一下,当前单元格获取的formatter是否是有效的formatter吗

没有相关接口可以判断格式是否为有效格式,而且也并不确定每一个原有的数据格式后接上%还能是正常可以支持的数据格式。如果您需要某种显示格式,可以先参考原有支持的格式字符串尝试构造新的格式。

可以参考官网教程了解支持的单元格格式:
https://demo.grapecity.com.cn/sp ... ic-formatter/purejs
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部