找回密码
 立即注册

QQ登录

只需一步,快速开始

dkings

注册会员

7

主题

19

帖子

173

积分

注册会员

积分
173

活字格认证

最新发帖

[已处理] Spread自定义函数

dkings
注册会员   /  发表于:2015-9-10 11:35  /   查看:6722  /  回复:6
例:1.如何向Spread添加   KMJE(E4,R5,90,字符串)   这样的自定义函数
       2.当在单元格Formula属性上设置了非法公式后如何禁止控件单元格显示《#NAME?》错误
       3.禁止Spread自动计算
       4.在用户可输入的情况下(Protect = false;)怎么禁止用户编辑公式

6 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2015-9-10 15:01:00
沙发
回复 1楼dkings的帖子

关于问题3 是否自动计算可以通过 gcSpreadSheet1.AutoRecalculation = false 来禁止。

其它两个问题正在调查中,稍后回复
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2015-9-14 15:06:00
板凳
回复 2楼iceman的帖子

问题2,Spread 自定义公式方法如下:

  1.         public partial class MainWindow : Window
  2.     {
  3.         public MainWindow()
  4.         {
  5.             InitializeComponent();
  6.         }

  7.         private void Window_Loaded(object sender, RoutedEventArgs e)
  8.         {
  9.             gcSpreadSheet1.ActiveSheet.AddCustomFunction(new AverageFunctionInfo());

  10.             gcSpreadSheet1.ActiveSheet.Cells[0, 0].Value = 1;
  11.             gcSpreadSheet1.ActiveSheet.Cells[0, 1].Value = 2;
  12.             gcSpreadSheet1.ActiveSheet.Cells[0, 2].Value = 3;
  13.             gcSpreadSheet1.ActiveSheet.Cells[0, 3].Value = 4;

  14.             gcSpreadSheet1.ActiveSheet.SetFormula(0, 4, "MyAverage(A1,B1,C1,D1)");

  15.         }
  16.     }

  17.     [Serializable]
  18.     public class AverageFunctionInfo : CalcFunction
  19.     {
  20.         public override string Name { get { return "MyAverage"; } }
  21.         public override int MinArgs { get { return 1; } }
  22.         public override int MaxArgs { get { return 4; } }
  23.         public override object Evaluate(object[] args)
  24.         {
  25.             int X = (int)(args[0]);
  26.             int X1 = (int)(args[1]);
  27.             int X2 = (int)(args[2]);
  28.             int X3 = (int)(args[3]);

  29.             return ((X1 - X / X) <= 20 && ((X2 - X) / X) <= 20 && ((X3 - X) / X) <= 20);
  30.         }
  31.     }
复制代码
回复 使用道具 举报
dkings
注册会员   /  发表于:2015-9-21 09:33:00
地板
回复 3楼iceman的帖子

3楼版主回答的是问题一吧,问题二怎么处理下啊
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2015-9-21 18:13:00
5#
回复 4楼dkings的帖子

抱歉让您久等了。

问题4在 Protect 属性设置成 false的情况下,无法禁止用户编辑公式。
问题2 我目前正在和产品组沟通实现方法,有进一步结果通知您。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2015-9-22 10:48:00
6#
回复 1楼dkings的帖子

问题2,很抱歉,没有添加自定义接口,无法更改。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2015-10-20 09:17:00
7#
回复 4楼dkings的帖子

为了给你提供更优质的服务,请对本次服务进行评分。我们会认真对待你提出的宝贵意见,谢谢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部