.net 开发的excel 首发csdn

.net 开发的excel 执行菜单里 自定义函数源码。

欢迎大家指正。

可以用于自定义报表,
客户自定义计算。  
打印模板,套打。  
用户界面输入界面。
通过建模板,建项目,配合数据库或其他形式服务器端,自定义小型ERP系统。

可以自由的定义自己项目需要的函数。
可以非常简单的自定义单元格控件。类似界面上的datetime.

正在开发的功能。
内建表格,图表。
后期开发自主的服务器端,直接把数据上传至服务器端。

使用方法:

选择多个单元格。单击工具条上的按钮。进行设置。

代码混淆加壳了。可能会被360报病毒。

自定义函数代码。excel内部自已定义的函数很少。

对于自定义报表。用户很难处理。

我在这个excel里加了自定义函数。你可以以插件或者初始化事件添加你自定义的涵数。

自定义函数的代码

        public class SiampleMethod : IMethod
        {

            #region IMethod 成员

            public IMethodCollection CurrentMethods
            {
                get { throw new NotImplementedException(); }
            }

            #endregion

            #region IMothodNameList 成员

            public IList<IMethodInfo> MothodInfoList()
            {
                Dictionary<string, IMethodInfo> dics = new Dictionary<string, IMethodInfo>();
                throw new NotImplementedException();
            }

            public bool Contains(string method)
            {
                switch (method)
                {
                    case "当月木材销售量":
                        return true;
                    default:
                        break;
                }
                return false;
            }

            #endregion

            #region IRunMethod 成员

            public object RunMethod(string methodname, params object[] args)
            {
                object obj = null;
                switch (methodname)
                {
                    case "当月木材销售量":
                        string str = string.Empty; 
                        object ob=args[0];
                        ICell cell = ob as ICell;
                        if (cell != null)
                        {
                            str = cell.Text;
                        }
                        else
                        {
                            str = ob.ToString();
                        }
                        ob = args[1];
                        cell = ob as ICell;
                        if (cell != null)
                        {
                            str = cell.Text;
                        }
                        else
                        {
                            str = ob.ToString();
                        }
                        
                        return 当月木材销售量(str, int.Parse(str));
                    default:
                        break;
                }
                return obj;
            }

            public string 当月木材销售量(string 木材名称, int 月份)
            {
                return string.Format("木材:" + 木材名称 + ",{0}月份销售{1}", 月份, 月份 * 1000);
            }

            #endregion

            #region ICaseSensitive 成员
            bool _CaseSensitive = false;
            public bool CaseSensitive
            {
                get
                {
                    return _CaseSensitive;
                }
                set
                {
                    _CaseSensitive = value;
                }
            }

            #endregion
        }

为了使自定义单元格完成更加复杂的功能。推出自定义单元格控件。

你可以让单元格输入和显示不同。

比如做财务报表时。需要输入数字。而显示是大写数字。再比如 套打你可以自定义套打的内容。

付两个自定的图片。





dataexcel@foxmail.com

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值