【问题标题】:Import data from .csv file to DataGrid() using Oledb Connection使用 Oledb Connection 将数据从 .csv 文件导入 DataGrid()
【发布时间】:2015-03-13 05:08:40
【问题描述】:

当我运行这段代码时,它会抛出一个错误

“'D:\Projects\MyTestProject\temp\2195-1480834730_Athletes.csv' 不是有效路径。确保路径名称拼写正确,并且您已连接到文件所在的服务器。” .

我正在尝试将数据从.csv 文件导入datagrid。文件名是D:\Projects\MyTestProject\temp\2195-1480834730_Athletes.csv

谢谢

Sub ExcelImportToGrid(ByVal filename As String, ByVal fileext As String)
        Dim strconn As String
        Dim ds As DataSet = New DataSet()
        Try
            If fileext = ".xlsx" Then
                strconn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + filename + "; Extended Properties=Excel 12.0"
            ElseIf fileext = ".csv" Then
                strconn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" & filename & ";" + "Extended Properties=Text;"
            Else
                strconn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" & filename & ";" + "Extended Properties=Excel 8.0;"
            End If
            Dim da As OleDb.OleDbDataAdapter = New OleDb.OleDbDataAdapter("SELECT * FROM [Sheet1$]", strconn)
            da.TableMappings.Add("Table", "Excel Data")
            da.Fill(ds)
            DataGrid1.DataSource = ds.Tables(0).DefaultView
            DataGrid1.DataBind()
        Catch ex As Exception
            JS_Alert(ex.Message)
        End Try
    End Sub

【问题讨论】:

  • filename的值是多少?
  • D:\Projects\MyTestProject\temp\2195-1480834730_Athletes.csv
  • 该文件是否存在,在指定路径中?

标签: vb.net connection-string oledbconnection oledbcommand oledbdataadapter


【解决方案1】:

在处理 .csv/.txt 文件时,连接字符串应该具有文件夹路径,而不是确切的文件路径。

并且选择查询应该有文件名而不是工作表名

"Select * from [" + "Filename.csv" + "];"   

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-11-18
    • 1970-01-01
    • 2016-06-09
    • 1970-01-01
    • 2015-02-22
    • 1970-01-01
    • 2016-06-21
    相关资源
    最近更新 更多