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

QQ登录

只需一步,快速开始

innerwang

高级会员

116

主题

453

帖子

1181

积分

高级会员

积分
1181

[已处理] 关于 UsedRangeType

innerwang
高级会员   /  发表于:2025-3-7 11:05  /   查看:85  /  回复:6
1金币
本帖最后由 innerwang 于 2025-3-7 11:29 编辑

若想通过 getUsedRange 同时获取报表中的 公式(含自定义公式)和数据,应该怎么传递 type



场景为:想获取报表中有数据的区域,但是有些单元格是数据,有些单元格是公式

最佳答案

查看完整内容

您好,getUsedRange方法的参数其实可以多个参数用或来拼接的: 这样修改后,就可以获取到正确的范围了:

6 个回复

倒序浏览
最佳答案
最佳答案
Matthew.Xue
超级版主   /  发表于:2025-3-7 11:05:44
来自 5#
innerwang 发表于 2025-3-7 17:41
我准备了一个demo, 麻烦看一下,前面说错了,应该还需要可以获取使用自定义函数的场景

将提 ...

您好,getUsedRange方法的参数其实可以多个参数用或来拼接的:
  1. sheet.getUsedRange(GC.Spread.Sheets.UsedRangeType.data|GC.Spread.Sheets.UsedRangeType.formula)
复制代码
这样修改后,就可以获取到正确的范围了:
image.png229281615.png
回复 使用道具 举报
大白菜
中级会员   /  发表于:2025-3-7 13:53:41
2#
本帖最后由 大白菜 于 2025-3-7 13:57 编辑



拿到Range 内容后,你直接getvalue就好了吧,可以拿到区域后再循环遍历单元格吧。
通过函数heet.hasFormula(1,1)判断是否有公式,然后再获取公式内容。
1、直接getvalue是单元格的内容
2、判断是否有公式然后有需就获取公式内容

回复 使用道具 举报
Matthew.Xue
超级版主   /  发表于:2025-3-7 16:31:21
3#
您好,getUsedRange时,参数传data就可以拿到包含公式的区域了:
  1. sheet.getUsedRange(GC.Spread.Sheets.UsedRangeType.data)
复制代码

image.png760234374.png
回复 使用道具 举报
innerwang
高级会员   /  发表于:2025-3-7 17:41:45
4#
Matthew.Xue 发表于 2025-3-7 16:31
您好,getUsedRange时,参数传data就可以拿到包含公式的区域了:





我准备了一个demo, 麻烦看一下,前面说错了,应该还需要可以获取使用自定义函数的场景

将提供的 excel 文件导入到下面demo 中,可以看到获取 usedRange 不对

image.png370615233.png

spread-demo.zip (928.69 KB, 下载次数: 1)
回复 使用道具 举报
innerwang
高级会员   /  发表于:2025-3-10 17:57:10
6#
Matthew.Xue 发表于 2025-3-10 10:20
您好,getUsedRange方法的参数其实可以多个参数用或来拼接的:
这样修改后,就可以获取到正确的范围了: ...

试了一下可以,谢谢
回复 使用道具 举报
Matthew.Xue
超级版主   /  发表于:2025-3-11 09:01:21
7#
innerwang 发表于 2025-3-10 17:57
试了一下可以,谢谢

好的,那这边就结贴了~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部