Maison > développement back-end > Tutoriel C#.Net > Vérification de la duplication des données C# Excel et vérification de la duplication des données du tableau

Vérification de la duplication des données C# Excel et vérification de la duplication des données du tableau

黄舟
Libérer: 2017-02-18 10:42:32
original
1557 Les gens l'ont consulté

Lors de l'importation récente de données Excel, vous devez vérifier si les données sont dupliquées :
1. Vous souhaitez vérifier si les données Excel elles-mêmes sont dupliquées ?

2. Les données dans Excel sont-elles dupliquées avec les données de la base de données ?

1. Les moyens de vérifier si les données dans Excel sont répétées sont :
1. Utilisez l'instruction select pour filtrer les données dans le tableau (omise ici, vous pouvez vous référer à la partie 2).
2. Utilisez une boucle for pour vérifier manuellement. Le code est le suivant :


       #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
Copier après la connexion

Petite note :

le clone doit être modifié pour copier

2. Les moyens de vérifier si les données dans Excel sont dupliquées avec les données de la base de données sont :

1. Parcourez le tableau et vérifiez chaque élément de données dans la répétition de la base de données.
Cette méthode convient aux situations où les données du tableau sont relativement petites (moins de 100) et le tableau de comparaison dans la base de données est très volumineux. Car cette méthode nécessite de se connecter à la base de données et d’exécuter des requêtes à chaque fois qu’une donnée est comparée, ce qui prend beaucoup de temps.
Après un test général, il y a 2 000 données dans Excel. Une simple requête dans la base de données prend 7 minutes et 40 secondes, soit 4601 000 millisecondes (ms). Environ une donnée prend 2 300,5 millisecondes
En fait, l'utilisation 2 importe 2 000 articles, ce qui prend moins de temps que la méthode 1, qui importe 100 articles.
2. Récupérez les données de la table à comparer dans la base de données dans un ensemble de données, parcourez la table et vérifiez la duplication de chaque élément de données dans l'ensemble de données :


.


	strTemp = "AcctNo=&#39;" + obZH.ToString() + "&#39; and TransDate=&#39;" + obRQ.ToString() + "&#39;  and SubAcctNo=&#39;" + obDFZH.ToString() + "&#39;";
                    rowsTemp = dsTemp.Tables[0].Select(strTemp);
                    if (rowsTemp.Length>0)
                    {
                        //如果重复了,进行记录
                        repeatDj += "第" + v.ToString() + "行\r\n";
                    }
Copier après la connexion



Ce qui précède est le contenu de la vérification du poids des données C# Excel et de la vérification du poids des données du tableau. Pour plus d'informations. contenu, veuillez faire attention au site Web PHP chinois (www.php.cn) !



Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal