DataExcel 设置 动作(事件)执行函数 自定义动作

DataExcel 设置 动作(事件)执行函数 自定义动作


应用场影:

用户需要自定义事件执行函数的地方。


 /// <summary>
        /// 用户根据事件执行自定义函数
        /// </summary>
        public void SetAction()
        {
            ///清除所有行,列,合并单元格,扩展单元格,等
            dataexcel1.Clear();
            ///初始化默认行,列
            dataexcel1.Init();
            ICell cell = null;
            for (int i = 1; i < 6; i++)
            {
                for (int j = 1; j < 5; j++)
                {
                    cell = dataexcel1[i, j];
                    cell.Value = i + j;
                }
            }
            dataexcel1[6, 1].Expression = "\"合计:\"&sum(a1:a5)";//& 表示把两个字符串连接到一起
            dataexcel1[6, 2].Expression = "\"平均:\"&avg(b1:b5)";
            dataexcel1[6, 3].Expression = "\"数量:\"&count(c1:c5)";
            dataexcel1["C7"].Value = "重新计算C6";
            dataexcel1["C7"].PropertyOnClick = new Feng.Excel.Actions.BaseAction()
            { 
                Action = new FunctionActionContainer().ExecuteExpression,
                Name = "ExecuteExpression",
                Text = "C9=" + "\"数量:\"&count(c1:c5)" };
            dataexcel1.MergeCell("B7", "B8");
            dataexcel1["B7"].VerticalAlignment = StringAlignment.Center;
            dataexcel1["B7"].HorizontalAlignment = StringAlignment.Center;
            dataexcel1["B7"].Value = "测试自定义Aaction";
            dataexcel1["B7"].PropertyOnClick = new Feng.Excel.Actions.BaseAction()
            {
                Action = DoAction,
                Text = "out:DoAction"
            };
            Form form = new Form();
            form.Controls.Add(dataexcel1);
            dataexcel1.Dock = DockStyle.Fill;
            form.ShowDialog();
            dataexcel1.Save(dataexcel1.Version + "_" + DateTime.Now.ToString("yyMMddHHmmss") + (fileindex++).ToString().PadLeft(4, '0') + Feng.Excel.FileExtension.DataExcel);
        }
        /// <summary>
        /// 自定义Action 执行函数
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        public void DoAction(object sender, ActionArgs e)
        {
            dataexcel1["B9"].Value = e.Action.Text;
        }

点击前:


点击后:



猜你喜欢

转载自blog.csdn.net/zanfeng/article/details/77045138
今日推荐