繁体   English   中英

导入电子表格,但遇到麻烦

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM