找回密码
 立即注册

QQ登录

只需一步,快速开始

GC使用

注册会员

2

主题

5

帖子

13

积分

注册会员

积分
13
  • 59

    金币

  • 2

    主题

  • 5

    帖子

最新发帖
GC使用
注册会员   /  发表于:2024-3-27 13:39  /   查看:509  /  回复:7
1金币
本帖最后由 Richard.Huang 于 2024-4-11 16:31 编辑

产品:GcExcel
版本:V7.0.3

比如一个单元格的显示值为"115.65",单元格的实际值为115.653,我们想在后端获取当前单元格的格式化函数,并且通过相关的格式化函数就可以直接将值格式化为显示的值。期待如下:
GcCellFormatter formatter   = cell.getFormat()
//115.653
Object cellValue = cell.getValue();
//115.65
String text = formatter.format(cellValue);

7 个回复

倒序浏览
刘老太
注册会员   /  发表于:2024-3-27 14:59:43
沙发
本帖最后由 刘老太 于 2024-3-27 15:01 编辑


-----------------------
搞错了, 你问的是GC, 不是SpreadJS, 我给的是SpreadJS的解决方式
但是不知道怎么删楼
-----------------------


不能完全一样但是比较类似
  1. sheet.getCell(0, 0).formatter();
  2. sheet.getCell(0, 0).text();
  3. sheet.getCell(0, 0).value();
  4. var formatter = new GC.Spread.Formatter.GeneralFormatter(sheet.getCell(0, 0).formatter());
  5. formatter.format(sheet.getCell(0, 0).value())
复制代码

效果如下:
image.png928457031.png
回复 使用道具 举报
GC使用
注册会员   /  发表于:2024-3-27 15:48:20
板凳
刘老太 发表于 2024-3-27 14:59
-----------------------
搞错了, 你问的是GC, 不是SpreadJS, 我给的是SpreadJS的解决方式
但是不知道 ...

哈哈 也要感谢哈
回复 使用道具 举报
Richard.HuangSpreadJS 开发认证
超级版主   /  发表于:2024-3-27 16:24:05
地板
您好,我的理解是您期望获取到的是显示值而非真实值是吗?那么您完全可以用getText方法,而不用将格式化字符串拿出来再重新将真实值格式化一次了:
  1. worksheet.getRange("A1").getText();
复制代码

回复 使用道具 举报
GC使用
注册会员   /  发表于:2024-3-29 12:04:13
5#
Richard.Huang 发表于 2024-3-27 16:24
您好,我的理解是您期望获取到的是显示值而非真实值是吗?那么您完全可以用getText方法,而不用将格式化字 ...

是的我想获取的是显示的值,但是通过getText方法获取的值有时会不符合预期 所以期望咱们可以提供相关的函数接口自己格式化一下,或者方便的话把getText的相关源码给我们看下可以嘛
回复 使用道具 举报
Richard.HuangSpreadJS 开发认证
超级版主   /  发表于:2024-3-29 13:33:14
6#
GC使用 发表于 2024-3-29 12:04
是的我想获取的是显示的值,但是通过getText方法获取的值有时会不符合预期 所以期望咱们可以提供相关的函 ...

了解了,getText获取到的就是显示值,既然您期望获取到显示值,那么getText就能够满足您的需求,但是您说不符合预期,意思是有时候getText获取到的不是显示值吗?如果是的话,能否将出现问题的demo提供给我们进行测试呢?

其次,如果您期望拿到formatter的字符串,那么可以调用这个方法:worksheet.getRange("A1").getDisplayFormat().getNumberFormat()
回复 使用道具 举报
Richard.HuangSpreadJS 开发认证
超级版主   /  发表于:2024-4-9 17:22:24
7#
您好,请问楼主的问题是否得到解决,如果仍然存在问题,欢迎继续跟帖询问
回复 使用道具 举报
Richard.HuangSpreadJS 开发认证
超级版主   /  发表于:2024-4-11 16:27:01
8#
您好,由于您长时间未回帖,本贴就先作结帖处理了,后续如果有其他新的问题,欢迎继续发新帖询问
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部