导入电子表格,但遇到问题

我有一个允许用户导入电子表格的表单。 这个电子表格在列标题中通常是静态的,但现在用户希望能够包含可选列(称为Notes)。 当我尝试从电子表格读取列时,我的代码崩溃,如果它不存在。

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"))** 

如果电子表格包含Notes列,则一切顺利。 如果没有,崩溃。 如何检查电子表格中是否存在Notes列以避免崩溃?

改变代码是这样的: [编辑 – 改变的代码逻辑)

 Dim fieldCount = reader.FieldCount For i = 0 To fieldCount - 1 Dim colName = reader.GetName(i) If (colName = "notes") Then Dim Notes As String = reader.GetString(i) End If Next i 

也许OleDbDataReader.FieldCount可以帮助你编程一个解决方法。