Comment télécharger uniquement des lignes non-vides de feuille de calcul Excel en utilisant oledb en C #?

Je suis l'importation de feuille de calcul excel pour DataTable à l'aide de connexion oledb comme ci-dessous.

private static DataTable UploadExcelSheet(string fileName)
    {
        DataTable uploadDataTable;
        using (OleDbConnection objXConn = new OleDbConnection())
        {
            objXConn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + fileName +
                                            ";Extended Properties=\"Excel 12.0;IMEX=1\"";

            objXConn.Open();

            OleDbCommand objCommand =
                new OleDbCommand("SELECT * FROM Template$ ", objXConn);
            OleDbDataAdapter objDataAdapter = new OleDbDataAdapter();

            //retrieve the Select command for the Spreadsheet
            objDataAdapter.SelectCommand = objCommand;

            //Create a DataSet
            DataSet objDataSet = new DataSet();

            //Populate the DataSet with the spreadsheet worksheet data
            objDataAdapter.Fill(objDataSet);
            uploadDataTable = objDataSet.Tables[0];
        }

        return uploadDataTable;
    }

Tout fonctionne bien mais le problème vient lorsque l'utilisateur de supprimer le contenu de quelques lignes avant de télécharger le logiciel excel. Il lit ces lignes vides aussi bien avec les lignes vides, et la sauvegarde des données dans la base de données échoue en raison de la violation de règle métier (champ obligatoire manquante).
Ce que j'ai essayé est de mettre en condition dans la requête :

"SELECT * FROM  WHERE  not [CandidateId*] = 0 or not [Firstname*] = '' or not [Lastname] = '' or not [type*] = '' or not [DOB*] =" + DBNull.Value

De sorte qu'il sera de ne sélectionner que les lignes qui les a données.
Mais je ne suis pas en mesure de les comparer avec des chaîne de caractères Date, Entier, etc. Qui sont à venir comme DBNull quand il est vide.
Peut-on s'il vous plaît suggérer la façon de le faire, je ne veux pas utiliser l'objet DataReader.

source d'informationauteur Rahul R