找回密码
 立即注册

QQ登录

只需一步,快速开始

yin_tb

高级会员

53

主题

200

帖子

1065

积分

高级会员

积分
1065

微信认证勋章

yin_tb
高级会员   /  发表于:2022-4-6 18:48  /   查看:3080  /  回复:7
1金币
如题,为何在代码中给Cell赋字符串值,如果起始为0,如001,0会消失,单元格的值为1.sp1.ActiveSheet.Cells(0,0)="001"; //两个0都没了,为何?


很有趣的现象,能想到的都想到了。
如果手工键入001,0不会消失。
1、单元格或列的类型,已经设置为text型了。
2、绑定的datatable的列,也是字符型。
3、属性 DisplayZero 也没有设置。

最佳答案

查看完整内容

Value 属性表示存储在单元格中的原始数据。Value 属性几乎可以是任何数据类型,包括 Double、Int32、String、DateTime 等。Value = null(在 VB 中为 Nothing)表示单元格不包含数据。 Text 属性是原始数据的文本表示。Text 属性将始终是一个字符串。 你这边设置Text时会转换为value来存储值,默认的转换中会把0001作为数字就转换为1了 而设置Value为“0001”可以明确Value就是一个字符串

7 个回复

倒序浏览
最佳答案
最佳答案
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-4-6 18:48:22
来自 6#
Value 属性表示存储在单元格中的原始数据。Value 属性几乎可以是任何数据类型,包括 Double、Int32、String、DateTime 等。Value = null(在 VB 中为 Nothing)表示单元格不包含数据。

Text 属性是原始数据的文本表示。Text 属性将始终是一个字符串。

你这边设置Text时会转换为value来存储值,默认的转换中会把0001作为数字就转换为1了
而设置Value为“0001”可以明确Value就是一个字符串
回复 使用道具 举报
yin_tb
高级会员   /  发表于:2022-4-6 19:22:31
2#
本帖最后由 yin_tb 于 2022-4-7 09:36 编辑

我用设计器试了下,在没有设置列类型时,键入01,0会消失,这一点和excel类似,但把列设成文本,再键入01就可以。现在的问题是,为何用代码赋值01这样,0就消失了。

我又做了个测试,一个新Form, spread不做任何绑定,把列的类型设为TextCellType,运行起来,这时,键入002这种以0开始的字符,没问题。但是,用代码给单元格赋值,002,0还是消失,看来和绑定无关。
我又搜帖子,看了个:【新提醒】spread控件数据源绑定后数据更新有问题 - Spread.NET专区 - ASP.NET 求助中心 - 葡萄城产品技术社区 (grapecity.com.cn)
我也测了,如果赋值001a,0不会消失。
回复 使用道具 举报
yin_tb
高级会员   /  发表于:2022-4-7 09:46:54
3#
哈哈,至少找到一个办法了。不用设置单元格类型,用Value赋值,没问题。

.....Cells(0,0).value="001"; //这样可以。难道 text和Value不一样?这算不算是个BUG。
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-4-7 12:06:31
4#
正确的设置方式就是
  1. fpSpread1.ActiveSheet.Cells(0, 0).Value = "0001";
复制代码


这样设置出来就是文本,显示也不会有问题,

你这个sp1.ActiveSheet.Cells(0,0)="001"会报错的吧,这个不是正确的写法
回复 使用道具 举报
yin_tb
高级会员   /  发表于:2022-4-7 12:19:35
5#
Richard.Ma 发表于 2022-4-7 12:06
正确的设置方式就是

呵呵,我不是在开发环境的代码片段,是另一台电脑,在帖子中写了,写漏了.text 或 .value   呵呵。
回到问题,用Cells(0,0).text="0001"; 这样赋值时,0会消失,spread的逻辑是什么意思呢?
回复 使用道具 举报
yin_tb
高级会员   /  发表于:2022-4-7 14:45:47
7#
好的,谢谢马老师。
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-4-7 14:48:38
8#
不客气
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部