热门手机游戏秘籍攻略应用教程大全

近来在做导入Excel数据的时刻,要磨练数据是不是反复:

1、要磨练Excel数据自身是不是有反复?

2、Excel中的数据是不是与数据库中的数据反复?

一、磨练Excel中数据是不是反复的体式格局有:
1、将Table中的数据运用select语句来过滤(此处略,能够参考二)。
2、运用for轮回来手动查对,代码以下:

       #region  纪录Excel中的反复列
        /// <summary>
        /// 纪录Excel中的反复列
        /// </summary>
        /// <param name="dt">须要猎取反复列的表</param>
        /// <returns>提醒反复信息</returns>
        private string GetDistinctTable(DataTable dt)
        {
		  //DataTable dtClone = dt;这类体式格局是毛病的,由于这类状况,修正dtClone的同时dt也会被修正。
            DataTable dtClone = dt.Clone(); ;
            string vsSubAcctNo = string.Empty;
            string vsAcctNo = string.Empty;
            string repeatExcel = string.Empty;
            string vsTransDate = string.Empty;
            for (int i = dtClone.Rows.Count - 1; i >= 0; i--)
            {
                vsSubAcctNo = dtClone.Rows[i][4].ToString().Trim();
                vsAcctNo = dtClone.Rows[i][1].ToString().Trim();
                vsTransDate = dtClone.Rows[i][8].ToString().Trim();
                dtClone.Rows[i].Delete();
                dtClone.AcceptChanges();
                for (int j = dtClone.Rows.Count - 1; j >= 0; j--)
                {
 if (vsSubAcctNo == dtClone.Rows[j][4].ToString().Trim() && vsAcctNo == dtClone.Rows[j][1].ToString().Trim() && 
 vsTransDate == dtClone.Rows[j][8].ToString().Trim())
                    {
                        //假如反复了,举行纪录
                        repeatExcel += "第" + (i + 1).ToString() + "行\r\n";
                        break;
                    }
                }
            }
            return repeatExcel;
        }
        #endregion

小注:

clone应当修正为为copy

二、磨练Excel中数据是不是与数据库中数据反复的体式格局有:

1、遍历Table并将个中每条数据,在数据库中磨练反复。
这类体式格局适用于Table中数据比较少(100之内),而数据库中要对照表很大的状况。由于这类体式格局要每对照一条数据,都要衔接数据库,并实行查询,很费时间。
大致测试了一下,Excel中有2000条数据,仅仅在数据库中查询,就斲丧了7分40秒即4601000 毫秒(ms),约莫一条数据耗时:2300.5毫秒
实在,运用体式格局2导入2000条,耗时也比体式格局1导入100条,耗时少。
2、将数据库中要对照的表数据取到一个dataset中,遍历Table并将个中每条数据,在dataset中磨练反复,代码以下:

	strTemp = "AcctNo='" + obZH.ToString() + "' and TransDate='" + obRQ.ToString() + "'  and SubAcctNo='" + obDFZH.ToString() + "'";
                    rowsTemp = dsTemp.Tables[0].Select(strTemp);
                    if (rowsTemp.Length>0)
                    {
                        //假如反复了,举行纪录
                        repeatDj += "第" + v.ToString() + "行\r\n";
                    }

以上就是C# Excel数据验重及Table数据验重 的内容,更多相关内容请关注ki4网(www.ki4.cn)!

赞(0) 打赏

上一篇:

下一篇:

相关推荐

0 条评论关于"C# Excel数据验重及Table数据验重【C#.Net教程】,C#,Excel数据,Table数据"

表情

最新评论

    暂无留言哦~~

支付宝扫一扫打赏

微信扫一扫打赏


Warning: error_log(/www/wwwroot/soxunxi.cn/wp-content/plugins/spider-analyser/#log/log-0918.txt): failed to open stream: No such file or directory in /www/wwwroot/soxunxi.cn/wp-content/plugins/spider-analyser/spider.class.php on line 2900