private void Apply(Excel[] excels)
        {
            //foreach (var node in nodes)
            //{
            //    var tag = Tree.GetDataRecordByNode(node);
            //    if (tag is Excels)
            //    {
            //        var excel = tag as Excels;

            //        if (excel != null)
            //        {
            //            if (excel.State == IdentityResultStateEnum.Success)
            //            {
            //                var no = 0;
            //                excels.RemoveAll(m => m.ParentID == excel.ID);
            //                foreach (var rule in excel.RulesMatched)
            //                {
            //                    var subheading = DB.ConvertToExcels(rule, excel.ID, ++no);
            //                    excels.Add(subheading);
            //                }

            //                excel.HasAppled = true;
            //            }
            //        }
            //        //node.Tag = new
            //        //{
            //        //    Appled = true
            //        //};
            //    }
            //}
            var error   = "";
            var results = RemotingInstance.Identity(excels.ToArray(), out error);

            if (string.IsNullOrEmpty(error) == false)
            {
                Alert.Show(this, "错误", error);
            }

            var source = this.Tree.DataSource as List <Excel>;

            if (source == null)
            {
                return;
            }
            foreach (var result in results)
            {
                var exists = source.Find(m => m.ID.ToString() == result.Relation);
                if (exists != null)
                {
                    if (result.State == IdentityResultStateEnum.Success)
                    {
                        exists.ResultForProgram = result.ResultForProgram;
                        exists.CanIdentity      = true;
                        exists.HasIdentited     = true;
                        source.AddRange(result.ExcelsMatched);
                    }
                    else
                    {
                        exists.ResultForProgram = "";
                        exists.CanIdentity      = false;
                        exists.HasIdentited     = false;
                    }
                }
            }

            Tree.RefreshDataSource();
        }