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;
}
点击前:
点击后: