[英]Importing a spreadsheet, but having trouble
我有一个允许用户导入电子表格的表格。 当涉及到列标题时,该电子表格通常是静态的,但是现在用户希望能够包括可选列(称为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"))**
如果电子表格包含“注释”列,则一切正常。 如果没有,则崩溃。 如何检查电子表格中是否存在“注释”列以避免崩溃?
也许OleDbDataReader.FieldCount可以帮助您编写变通办法。
将代码更改为如下所示: [编辑-更改代码逻辑)
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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.