找回密码
 立即注册

QQ登录

只需一步,快速开始

study1990
金牌服务用户   /  发表于:2012-7-5 16:03  /   查看:12487  /  回复:13
为什么在单元格中自定义公式不识别,提示#NAME?

13 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2012-7-5 17:05:00
沙发
回复 1楼study1990的帖子

没有重现楼主的问题,请楼主给出相关代码片段,我使用下面方法测试生效:

  1.     public partial class WebForm1 : System.Web.UI.Page
  2.     {
  3.         protected void Page_Load(object sender, EventArgs e)
  4.         {
  5.             if (IsPostBack)
  6.                 return;
  7.             this.FpSpread1.Sheets[0].AllowUserFormulas = false;

  8.             FarPoint.Web.Spread.Model.DefaultSheetDataModel dataModel = new FarPoint.Web.Spread.Model.DefaultSheetDataModel(5, 5);
  9.             dataModel.AddCustomFunction(new CubeFunctionInfo());
  10.             dataModel.SetFormula(1, 1, "CUBE(4)");
  11.             FpSpread1.ActiveSheetView.DataModel = dataModel;   
  12.         }
  13.     }
  14.     [Serializable]
  15.     public class CubeFunctionInfo : FunctionInfo
  16.     {

  17.         public override string Name { get { return "CUBE"; } }

  18.         public override int MinArgs { get { return 1; } }

  19.         public override int MaxArgs { get { return 1; } }

  20.         public override object Evaluate(object[] args)
  21.         {
  22.             double num = CalcConvert.ToDouble(args[0]);
  23.             return num * num * num;
  24.         }
  25.     }
复制代码
回复 使用道具 举报
study1990
金牌服务用户   /  发表于:2012-7-23 14:07:00
板凳
回复 2楼iceman的帖子

在spread中编辑错误公式后,发现不保存此公式,怎么设置保存错误的公式?
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2012-7-23 18:24:00
地板
回复 3楼study1990的帖子

请问楼主是以什么方式输入的公式呢?
回复 使用道具 举报
study1990
金牌服务用户   /  发表于:2012-7-24 17:46:00
5#
回复 4楼iceman的帖子

在单元格中输入=3+( 这样的错误公式,它会显示橙色,就不会保存到数据库了。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2012-7-24 18:16:00
6#
回复 5楼study1990的帖子

不好意思,楼主能否提供代码片段和重现步骤,我没能重现问题。
回复 使用道具 举报
study1990
金牌服务用户   /  发表于:2012-8-15 15:38:00
7#
回复 6楼iceman的帖子

输入形如"=6+"这样错误的公式,刷新后提示公式错误,同时此行的第一个单元格背景色也会显示黄色,怎么样不在此单元格显示黄色?
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2012-8-15 18:15:00
8#
第一个单元格变成黄颜色,是为了明显表示该行中有单元格公式设置错误,此外,公式出错单元格的字体前景色会设置为红色。这是Spread的默认行为。
回复 使用道具 举报
study1990
金牌服务用户   /  发表于:2012-8-16 08:16:00
9#
回复 8楼dof的帖子

客户不想在第一个单元格提示,仅在有错误公式的单元格进行提示就可以,怎么样屏蔽第一个单元格提示?
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2012-8-16 10:28:00
10#
你可以使用下面的代码来取消第一个单元格的背景色,具体实现还需要结合你的实际需求来修改下面的代码

  1.     protected override void Render(HtmlTextWriter writer)
  2.     {
  3.         Table talbe = FpSpread1.FindControl("viewport") as Table;
  4.         foreach (TableRow item in talbe.Rows)
  5.         {
  6.             if (item.Cells[0].HasAttributes && item.Cells[0].Attributes["title"] == "UpdateFailed")
  7.             {
  8.                 item.Cells[0].Attributes.Remove("title");
  9.                 item.Cells[0].Attributes.Remove("bgColor");
  10.                 item.Cells[0].Style["background-color"] = "";
  11.             }
  12.         }
  13.         base.Render(writer);
  14.     }
复制代码
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部