找回密码
 立即注册

QQ登录

只需一步,快速开始

dystar001 悬赏达人认证

高级会员

63

主题

423

帖子

1686

积分

高级会员

积分
1686

活字格认证圣诞拼拼乐悬赏达人

dystar001 悬赏达人认证
高级会员   /  发表于:2020-4-9 02:27  /   查看:6903  /  回复:14
1金币
请教一下:

在一个单元格里,由于公式是动态变化的,所以没有办法用单元格赋值的方式设定公式。
请教一个,能否用JS代码往一个单元格里面写入公式,比如 =A1+A2

我现在用

Forguncy.Page.getCell("单元格").setValue("=A1+A2”)  

这样的语法,单元格得到的是 =A1+A2 这样的字符串,而不是一个公式。


谢谢!

最佳答案

查看完整内容

我来拯救世界了 先批评一下 这种问题,最好请你能帮我们整理好您的数据,做一个简单的工程文件文件给我 不然,我还要给你准备数据等等,比较浪费时间,还有就是你直接做好工程文件,在文件中说明(或者手动拼接好)你想要的效果,这样我直接在工程文件中做好,可以保证我最大程度的理解您的问题,做好的效果也是您想要的 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>吹牛完了

14 个回复

倒序浏览
最佳答案
最佳答案
Simon.hu讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2020-4-9 02:27:09
来自 11#
本帖最后由 Simon.hu 于 2020-4-10 09:56 编辑

我来拯救世界了
先批评一下
这种问题,最好请你能帮我们整理好您的数据,做一个简单的工程文件文件给我
不然,我还要给你准备数据等等,比较浪费时间,还有就是你直接做好工程文件,在文件中说明(或者手动拼接好)你想要的效果,这样我直接在工程文件中做好,可以保证我最大程度的理解您的问题,做好的效果也是您想要的
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>吹牛完了<<<<<<<<<<<<<<<<<<<<<<<<<<<


首先,在介绍做法之前,我要告诉你,这次的这个做法,
使用的是我们的内部接口,可能不同的版本做法都不一样,所以以后的版本能不能用,我不能给你保证,但是至少这个方法在当前的版本是能用的

注意:本接口,目前可以在5.0.100.0以上的版本和6.0中使用,6.0以后可能不行


我理解您的意思,相当于你要在网页中动态写公式然后计算结果
我以一个例子,来给你讲清楚
我设计了2个文本框,A1和A3

运行以后我,输入了值

现在我想要在网页中得到A1+A3的结果是啥?
使用这个代码就行
  1. Forguncy.ForguncyData.pageInfo.formulaManager.evaluateFormula("=A1+A3",{runTimePageName:"p"});
复制代码

所以你要是想要高级的功能的话,可以玩这个JS来搞定~


记得给我设置最佳答案,点赞+5分好评
(你要想给我发红包,我也可以勉强接受

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

评分

参与人数 1满意度 +5 收起 理由
dystar001 + 5 很给力!

查看全部评分

回复 使用道具 举报
谢厅讲师达人认证 悬赏达人认证 活字格认证
金牌服务用户   /  发表于:2020-4-9 08:44:04
2#
好像没设置公式这个接口吧你可以这样
  1. var p = Forguncy.Page;
  2. var value1 = p.getCell("cell1").getValue();
  3. var value2 = p.getCell("cell2:).getValue();
  4. p.getCell("cell3").setValue(value1 + value2);
复制代码

回复 使用道具 举报
dystar001悬赏达人认证
高级会员   /  发表于:2020-4-9 09:43:43
3#
谢厅 发表于 2020-4-9 08:44
好像没设置公式这个接口吧你可以这样

不行,这个出来的还是一个字符串,不是一个公式
回复 使用道具 举报
谢厅讲师达人认证 悬赏达人认证 活字格认证
金牌服务用户   /  发表于:2020-4-9 09:45:16
4#
dystar001 发表于 2020-4-9 09:43
不行,这个出来的还是一个字符串,不是一个公式

那你把value1和value2都parseInt一下
回复 使用道具 举报
Tracy.Liu讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2020-4-9 09:52:50
5#
你把公式字符串拼出来,然后,使用eval()试试
https://www.w3school.com.cn/js/jsref_eval.asp
回复 使用道具 举报
dystar001悬赏达人认证
高级会员   /  发表于:2020-4-9 10:21:34
6#
Tracy.Liu 发表于 2020-4-9 09:52
你把公式字符串拼出来,然后,使用eval()试试
https://www.w3school.com.cn/js/jsref_eval.asp

请问:
eval() 出来的结果,用什么方法赋给单元格呢?
回复 使用道具 举报
dystar001悬赏达人认证
高级会员   /  发表于:2020-4-9 10:26:43
7#
谢厅 发表于 2020-4-9 09:45
那你把value1和value2都parseInt一下

parseInt 是解析成数字,还是不行。。。
回复 使用道具 举报
Eric.Liang讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2020-4-9 10:30:23
8#
dystar001 发表于 2020-4-9 10:26
parseInt 是解析成数字,还是不行。。。

parseInt是转化成数字,你这里是不是应该讲数字转化为文本,使用x.toString()来转化成文本
回复 使用道具 举报
dystar001悬赏达人认证
高级会员   /  发表于:2020-4-9 10:40:15
9#
Eric.Liang 发表于 2020-4-9 10:30
parseInt是转化成数字,你这里是不是应该讲数字转化为文本,使用x.toString()来转化成文本

关键是最后用什么方式来赋值呢?

用这个方式可以么?
p.getCell("cell3").setValue()

回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部