내가 엑셀 페이지를 읽기 위해 노력하고 읽기 그러나 나는 다음과 같은 오류 얻을 :는 VB.net 엑셀 페이지
Input string was not in a correct format.Couldn't store <555-555-5555> in PHONE_NUM Column. Expected type is Double.
OLEDB 명령 유형으로 열을 기대하는 것 같다을에 두 번 (하지만 사실, 그것은 전화 번호를위한 문자열입니다). 이 명령은 열의 첫 번째 항목으로 보이고 그 유형을 기반으로해야하는 항목을 결정하므로 어딘가에서 읽은 것 같습니다. 항상 모든 값을 문자열로 읽는 방법이 있습니까?
Dim connection As OleDb.OleDbConnection
Dim command As OleDb.OleDbCommand
Dim adapter As New OleDb.OleDbDataAdapter
Dim connString As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + myFile + ";Extended Properties=Excel 12.0;"
Dim pgOne As String = "Page1$"
Dim pgTwo As String = "Page2$"
Dim selectOne As String = "SELECT * FROM [" & pgOne & "] WHERE COL1<>''"
Dim selectTwo As String = "SELECT * FROM [" & pgTwo & "]"
connection = New OleDb.OleDbConnection(connString)
Try
If connection.State = ConnectionState.Open Then
Else
connection.Open()
End If
command = New OleDb.OleDbCommand(selectOne, connection)
adapter.SelectCommand = command
adapter.Fill(ds, "Table1")
adapter.SelectCommand.CommandText = selectTwo
adapter.Fill(ds, "Table2")
Catch ex As OleDb.OleDbException
Finally
adapter.Dispose()
If (Not command Is Nothing) Then
command.Dispose()
End If
connection.Close()
End Try
응답 해 주셔서 감사합니다. 두 가지 제안을 시도했지만 같은 오류가 발생했습니다. "설치 가능한 ISAM을 찾을 수 없습니다." 연결을 열려고 할 때. 이견있는 사람? – jason
글쎄, ISAM 오류 (http://stackoverflow.com/questions/8120699/could-not-find-installable-isam)가 수정되었지만 여전히 문제가 있습니다. IMEX = 1을 사용하면 작동하지 않습니다. HDR = NO를 사용하려고하면 "하나 이상의 필수 매개 변수에 값이 지정되지 않았습니다."라는 또 다른 오류가 발생합니다. – jason
try IMEX = 1; HDR = NO; 함께 - 아직 주사위가 없다면 스키마 측면에 대해서 알게 될 것입니다. –