我有一個允許用戶導入電子表格的表單。當涉及到列標題時,此電子表格通常是靜態的,但現在用戶希望能夠包含可選列(稱爲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列以避免崩潰?
謝謝你的答案。 GetOrdinal(「Notes」)仍然拋出一個錯誤,如果該列不存在,但reader.GetName(4)=「Notes」工作正常..只要客戶確保Notes列在正確的位置。 – 2010-04-09 20:25:13
@Chris,我改變了我的例子的邏輯。這樣你迭代列,並檢查它們是否匹配你想要的東西,而不是假設列存在。 – 2010-04-10 07:59:41