private IStatResult AddDate(IStatResult curStatResult, string date)
        {
            List <string>   columns  = new List <string>();
            List <string[]> statRows = new List <string[]>();
            List <string>   rowTemp  = new List <string>();

            columns.AddRange(curStatResult.Columns);
            columns.Insert(1, "时间");
            for (int i = 0; i < curStatResult.Rows.Length; i++)
            {
                rowTemp.AddRange(curStatResult.Rows[i]);
                rowTemp.Insert(1, date);
                statRows.Add(rowTemp.ToArray());
                rowTemp.Clear();
            }
            StringArrayComparer comparer = new StringArrayComparer(true);

            statRows.Sort(comparer);
            return(new StatResult("", columns.ToArray(), statRows.ToArray()));
        }
        private IStatResult MergeResult(IStatResult befStatResult, IStatResult lastStatResult, string proDate, string date)
        {
            List <string>         columns        = new List <string>();
            List <int>            AddColumnIndex = new List <int>();
            Dictionary <int, int> DYColumnIndex  = new Dictionary <int, int>();
            List <string[]>       statRows       = new List <string[]>();

            columns.AddRange(befStatResult.Columns.ToArray());
            bool dySuccess = false;

            for (int i = 0; i < lastStatResult.Columns.Length; i++)
            {
                dySuccess = false;
                for (int j = 0; j < befStatResult.Columns.Length; j++)
                {
                    if (lastStatResult.Columns[i] == befStatResult.Columns[j])
                    {
                        DYColumnIndex.Add(j, i);
                        dySuccess = true;
                        break;
                    }
                }
                if (!dySuccess)
                {
                    columns.Add(lastStatResult.Columns[i]);
                    AddColumnIndex.Add(i);
                }
            }
            bool          containtTime = columns.Contains("时间");
            List <string> rowTemp      = new List <string>();

            if (!containtTime)
            {
                columns.Insert(1, "时间");
                for (int i = 0; i < befStatResult.Rows.Length; i++)
                {
                    rowTemp.AddRange(befStatResult.Rows[i]);
                    rowTemp.Insert(1, proDate);
                    statRows.Add(rowTemp.ToArray());
                    rowTemp.Clear();
                }
            }
            else
            {
                statRows.AddRange(befStatResult.Rows);
            }
            for (int i = 0; i < lastStatResult.Rows.Length; i++)
            {
                for (int index = 0; index < columns.Count; index++)
                {
                    if (DYColumnIndex.ContainsKey(index))
                    {
                        rowTemp.Add(lastStatResult.Rows[i][DYColumnIndex[index]]);
                        continue;
                    }
                    if (AddColumnIndex.Contains(index))
                    {
                        rowTemp.Add(lastStatResult.Rows[i][index]);
                    }
                }
                rowTemp.Insert(1, date);
                statRows.Add(rowTemp.ToArray());
                rowTemp.Clear();
            }
            StringArrayComparer comparer = new StringArrayComparer(true);

            statRows.Sort(comparer);
            return(new StatResult("", columns.ToArray(), statRows.ToArray()));
        }