J'ai un formulaire qui permet à un utilisateur d'importer une feuille de calcul. Cette feuille de calcul est généralement statique en ce qui concerne les en-têtes de colonne, mais les utilisateurs veulent maintenant pouvoir inclure une colonne optionnelle (appelée Notes). Mon code se bloque lorsque j'essaie de lire la colonne de la feuille de calcul si elle n'existe pas.Importer une feuille de calcul mais avoir des problèmes
Dim objCommand As New OleDbCommand()
objCommand = ExcelConnection() 'function that opens spreadsheet and returns objCommand
Dim reader As OleDbDataReader
reader = objCommand.ExecuteReader()
While reader.Read()
Dim Employee As String = Convert.ToString(reader("User"))
Dim SerialNUM As String = Convert.ToString(reader("serialno"))
**Dim Notes As String = Convert.ToString(reader("notes"))**
Si la feuille de calcul contient une colonne Notes, tout se passe bien. Sinon, crash. Comment puis-je vérifier si la colonne Notes existe dans la feuille de calcul pour éviter le crash?
Merci à vous deux pour les réponses. GetOrdinal ("Notes") a quand même lancé une erreur si cette colonne n'existait pas, mais reader.GetName (4) = "Notes" fonctionne tant que le client s'assure que la colonne Notes est au bon endroit. –
@Chris, j'ai changé la logique de mon exemple. De cette façon, vous itérez les colonnes, et vérifiez si elles correspondent à ce que vous voulez, au lieu de supposer que la colonne existe. –