请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

allen.leng

初级会员

18

主题

83

帖子

321

积分

初级会员

积分
321
allen.leng
初级会员   /  发表于:2025-3-10 14:03  /   查看:65  /  回复:9
image.png13595274.png   如图所示  设置了A1为百分比格式, 然后仅粘贴一个10%进去,这时候取值取到的不是0.1,而是10%。按理说百分比格式是数值型的格式,取值应该为0.1,取到10%是否不太合理。

9 个回复

倒序浏览
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:6 天前
沙发
您好,
根据您提供的信息做了相关测试,如下图未复现出“值为10%”问题。
请提供具体复现步骤,以便问题的进一步验证。 percent.gif236502379.png
回复 使用道具 举报
allen.leng
初级会员   /  发表于:6 天前
板凳
Lynn.Dou 发表于 2025-3-11 12:09
您好,
根据您提供的信息做了相关测试,如下图未复现出“值为10%”问题。
请提供具体复现步骤,以便问题 ...

image.png179612425.png 试下仅粘贴值
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:6 天前
地板
如下图,测试仅粘贴值获取的value也是0.1。您可以录制下具体的操作步骤,我对比看看哪里存在差异。
1.gif422852477.png
回复 使用道具 举报
allen.leng
初级会员   /  发表于:6 天前
5#
Lynn.Dou 发表于 2025-3-11 16:20
如下图,测试仅粘贴值获取的value也是0.1。您可以录制下具体的操作步骤,我对比看看哪里存在差异。

你是从0.1复制过去的,你复制一个10%粘贴呀。  之前那个txt复制的10%不是挺好的嘛。
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:6 天前
6#
右键菜单”仅粘贴值“走的是SpreadJS内部剪贴版。如果从txt复制,按下的ctrl+c快捷键 走的是系统剪贴版,二者并非一套处理逻辑,不能混用。
正常情况下,从txt文件 ctrl+c 复制 10%,在SpreadJS右键菜单粘贴是粘贴不上的,因为内部剪贴板无法获取到系统剪贴板的值。


您可以做个简单测试:
1、在SpreadJS内部输入abc,右键复制
2、新建txt输入 10%并ctrl+c复制
3、在SpreadJS内部右键仅粘贴值
你会发现粘贴的值为abc,而并非预期的10%。

所以才会请您录制一个操作动图,我分析看看您是如何操作的。
回复 使用道具 举报
allen.leng
初级会员   /  发表于:5 天前
7#
Lynn.Dou 发表于 2025-3-11 17:32
右键菜单”仅粘贴值“走的是SpreadJS内部剪贴版。如果从txt复制,按下的ctrl+c快捷键 走的是系统剪贴版,二 ...

gif已上传 您看下
test.gif
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:5 天前
8#
在您的操作中,首先设置单元格为文本, 之后输入了10%,这导致单元格实际的value是字符串"10%",而并非数字0.1。
所以在另一个单元格中仅粘贴值,会将字符串”10%“粘入。
同样的操作您可以在Excel中也验证下,会发现表现与SpreadJS是一样的。
回复 使用道具 举报
allen.leng
初级会员   /  发表于:4 天前
9#
Lynn.Dou 发表于 2025-3-12 17:58
在您的操作中,首先设置单元格为文本, 之后输入了10%,这导致单元格实际的value是字符串"10%",而并非数字0 ...

excel重新获取焦点之后,就会变成正常的数值,但是SpreadJS仍然还是10%
kk-2025-03-13-13-14-44.gif
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:3 天前
10#
SpreadJS认为value的变动应由API或者用户编辑行为控制,如Excel所示的双击后改变value行为并不符合设计理念,比如某些场景下用户其实不希望发生这种变化。
不过如果您希望实现类似的效果,可以监听EditStarting事件,在单元格进入编辑状态时触发此事件,判断当前单元格的value是否为字符串“10%”形式(getValue), 如果是,将value替换为0.1(setValue)
事件链接:
https://demo.grapecity.com.cn/sp ... Events#editstarting
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部