找回密码
 立即注册

QQ登录

只需一步,快速开始

chaoren

初级会员

16

主题

67

帖子

205

积分

初级会员

积分
205
chaoren
初级会员   /  发表于:2018-11-8 15:57  /   查看:13543  /  回复:36
可以实现单元格只能输入数值。如果输入非数值的话 image.png778392028.png 画圈标注,可以实现这样的功能吗

36 个回复

倒序浏览
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2018-11-8 17:27:57
沙发
你好,可以实现,

请参考学习指南的Demo:

https://demo.grapecity.com.cn/Sp ... customDataValidator

可以在这里判断是否非数:

image.png133689574.png
回复 使用道具 举报
chaoren
初级会员   /  发表于:2018-11-8 18:25:33
板凳
KevinChen 发表于 2018-11-8 17:27
你好,可以实现,

请参考学习指南的Demo:

谢谢,是我执着于数字验证了,我换了一个验证方式可以使用,另外我想问一下,spreadjs有提供直接获取单元格所在的位置吗,比如行是1,列也是1,那么这个单元格在的B2位置,有提供这样的方法吗
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2018-11-9 09:16:33
地板
没有直接获取单元格行列名的方法,

但是也比较容易实现,

代码示例:

image.png75711974.png

这两个方法的最后一个参数,colHeader是列头区域,rowHeader是行头区域。
回复 使用道具 举报
chaoren
初级会员   /  发表于:2018-11-9 10:22:37
5#
KevinChen 发表于 2018-11-9 09:16
没有直接获取单元格行列名的方法,

但是也比较容易实现,

这个就足够了,谢谢,另外我还有一个问题,我们是否可以获取到,单元格在excel设置的单元格格式 image.png162572630.png ,比如excel设置单元格是数值,那么我导入到spreadjs里面能否获取到这个单元格是数值类型的
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2018-11-9 11:36:18
6#
可以,用getFormatter可以获取到。

学习指南示例说明:

https://demo.grapecity.com.cn/Sp ... emos/basicFormatter
回复 使用道具 举报
chaoren
初级会员   /  发表于:2018-11-9 12:07:12
7#
本帖最后由 chaoren 于 2018-11-9 14:26 编辑
KevinChen 发表于 2018-11-9 09:16
没有直接获取单元格行列名的方法,

但是也比较容易实现,

image.png217045592.png 我这边这么写,但是实际上获取不到行号跟列号是为什么,我在第一行那边可以,我写法有问题吗 image.png629263610.png ,以及还有一个问题,就是 image.png411643676.png 我这边获取选中的单元格数,但是因为这边有了筛选,获取的单元格格数大于选中的格数


image.png122359923.png
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2018-11-9 15:32:16
8#
你可能对这个用法有一些误解。

Spread JS的界面,可以分为单元格区域,行头区域和列头区域,

行、列头区域也可以看成是单元格区域一样,具有多行、多列的一个数据区域,可以自由定制,

具体可以参考学习指南了解:

https://demo.grapecity.com.cn/Sp ... emos/rowsAndColumns

在本例中,调用getText时,传入的前两个参数,实际上是代表了行头区域的单元格坐标,

也就是说,getText(0,0, GC.Spread.Sheets.SheetArea.colHeader),

表示获取列头区域的第一行第一列的单元格的内容。

所以当你列头只有一行时,getText只需要传入对应的列号即可,行号始终为0。
回复 使用道具 举报
chaoren
初级会员   /  发表于:2018-11-9 15:46:16
9#
本帖最后由 chaoren 于 2018-11-12 10:14 编辑
KevinChen 发表于 2018-11-9 15:32
你可能对这个用法有一些误解。

Spread JS的界面,可以分为单元格区域,行头区域和列头区域,

谢谢,我还以为直接是定位坐标就可以获取到行号和列号了,是我理解有误,另外我还有其他几个问题
问题1:那关于筛选选择的区域,跟实际选择的个数不一致问题需要如何解决;问题2:关于spreadjs使用excel函数计算,存在计算精度缺失问题,请问要如何解决;

回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2018-11-12 10:32:13
10#
1、你是怎样选择的筛选区域?

2、造成计算精度问题主要是由于javascript的数字数据类型只有浮点型的原因,可以使用单元格格式来设置小数点后的有效位数:
https://demo.grapecity.com.cn/Sp ... emos/basicFormatter

另外,新的问题推荐发新帖沟通,以方便其他用户参考,谢谢~~~
回复 使用道具 举报
1234下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部