找回密码
 立即注册

QQ登录

只需一步,快速开始

noahark

论坛元老

62

主题

173

帖子

7139

积分

论坛元老

积分
7139

活字格认证

noahark
论坛元老   /  发表于:2014-4-22 19:15  /   查看:8261  /  回复:7
版主您好!目前我遇到一个关于farpoint公式计算的问题,我在给“容积率”单元格设置了格式,如下:fp_ResidencePlanIndex.Columns[6].Formula = "ROUND(I1/F1,2)";
其中“I1”为"计容面积“,"F1"为”地块面积“。在输入完计算也正常,但当我先删除”计容面积“里面的数据,然后再删除”地块面积”里面的数据的时候,被计算的单元格“容积率”却不变。按道理它应该被清空的。但我先删除“地块面积“里面的数据,再删除”计容面积“里面的数据,却是正常的。
即:先删除被除数,再删除除数计算结果显示正常,会被清空。先删除除数,再删除被除数,计算结果不会清空,会遗留之前的计算结果在单元格。

5~MI6UV7$3YC~QMM97~RY$N.jpg

14.78 KB, 下载次数: 187

计容面积与地块面积已删除,容积率却还在

7 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2014-4-23 09:31:00
沙发
回复 1楼noahark的帖子

抱歉,我根据你的描述并没有重现问题,我这边的情况是无论先删除除数还是被除数,公式所在单元格都显示“#Value” 值。

能否把你的测试demo发上来查看下。
回复 使用道具 举报
noahark
论坛元老   /  发表于:2014-4-23 11:15:00
板凳
这里整个demo还挺麻烦的,版主,能把你的代码贴我看下吗
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-4-24 09:07:00
地板
回复 3楼noahark的帖子

我只试用了一行代码进行重现:

  1.         protected void Page_Load(object sender, EventArgs e)
  2.         {
  3.             if (IsPostBack)
  4.             {
  5.                 return;
  6.             }

  7.             this.FpSpread1.ActiveSheetView.Columns[2].Formula = "ROUND(B1/A1,2)";
  8.         }
复制代码
回复 使用道具 举报
noahark
论坛元老   /  发表于:2014-4-24 14:41:00
5#
谢谢版主,这个问题比较奇怪,我在其它页面同样的公式没有问题,只有其中一个页面有此问题。这个页面加了些前端的编辑完成处理。我再看看是不是这个所影响的。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-4-24 15:27:00
6#
回复 5楼noahark的帖子

恩,好的,有问题欢迎及时反馈
回复 使用道具 举报
pinglan7
注册会员   /  发表于:2014-12-1 18:51:00
7#
反馈一下,有种情况会出现楼主说的问题,不知是不是BUG:
被某单元格在计算公式中引用的单元格自身也有计算公式时,会出现此情况。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-12-2 13:27:00
8#
回复 7楼pinglan7的帖子

感谢你的问题反馈。

我通过以下代码使用 Spread 8.0 测试的结果是,如果除数中包含公式则无法删除其值,删除被除数计算公式会自动计算,请问您的具体使用方式是什么?

  1.         protected void Page_Load(object sender, EventArgs e)
  2.         {
  3.             if (IsPostBack)
  4.             {
  5.                 return;
  6.             }

  7.             this.FpSpread1.ActiveSheetView.ColumnCount = 6;

  8.             this.FpSpread1.ActiveSheetView.ColumnHeader.Cells[0, 0].Text = "地块面积";
  9.             this.FpSpread1.ActiveSheetView.ColumnHeader.Cells[0, 1].Text = "容积率";
  10.             this.FpSpread1.ActiveSheetView.ColumnHeader.Cells[0, 2].Text = "计容面积";

  11.             this.FpSpread1.ActiveSheetView.Cells[0, 0].Text = "2";
  12.             this.FpSpread1.ActiveSheetView.Cells[0, 2].Text = "4";
  13.             this.FpSpread1.ActiveSheetView.Cells[0, 4].Text = "4";
  14.             this.FpSpread1.ActiveSheetView.Cells[0, 5].Text = "4";

  15.             this.FpSpread1.ActiveSheetView.Columns[0].Formula = "SUM(E1:F1)";
  16.             this.FpSpread1.ActiveSheetView.Columns[1].Formula = "ROUND(C1/A1,2)";

  17.             this.FpSpread1.ClientAutoCalculation = true;
  18.         }
复制代码


需要注意的是设置 ClientAutoCalculation  为 true,在客户端才能自动计算。
谢谢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部