【问题标题】:vb.net load excel data in datagridview miss date valuevb.net在datagridview中加载excel数据错过日期值
【发布时间】:2015-04-03 19:26:16
【问题描述】:

我在 vb.net 中有一个函数可以将 excel 中的数据加载到 datagridview 中。 datagridview 中缺少日期值。

datagridview中的数据:

excel文件中的数据:

相关代码:

        Dim MyConnection As System.Data.OleDb.OleDbConnection
        Dim DtSet As System.Data.DataSet
        Dim MyCommand As System.Data.OleDb.OleDbDataAdapter

        MyConnection = New System.Data.OleDb.OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0;Data Source='" + localPathIn + "ExportedExcel.xls';Extended Properties=Excel 8.0;")
        MyCommand = New System.Data.OleDb.OleDbDataAdapter("select * from [ExportedExcel$]", MyConnection)
        MyCommand.TableMappings.Add("Table", "Net-informations.com")
        DtSet = New System.Data.DataSet
        MyCommand.Fill(DtSet)
        DataGridView1.DataSource = DtSet.Tables(0)
        MyConnection.Close()

我怎样才能让它工作?提前致谢。

【问题讨论】:

    标签: vb.net excel datagridview


    【解决方案1】:

    尝试添加 IMEX=1;作为连接字符串参数,将所有数据视为文本。如果某些值不是有效日期,则可能会导致您的问题。当然,您可能需要进行第二步处理才能将数据转换为您想要的类型。

    【讨论】:

    • 对不起 Crowcoder,我不知道在哪里添加 IMEX=1。谢谢。
    • 与连接字符串中的所有其他参数一样:"provider=Microsoft.Jet.OLEDB.4.0;Data Source='" + localPathIn + "ExportedExcel.xls';Extended Properties=Excel 8.0;IMEX= 1"
    • 嗨 Crowcoder,我尝试将 IMEX=1 添加到 MyConnection 字符串的末尾,但收到错误:System.Data.OleDb.OleDbException:找不到可安装的 ISAM。
    • 看来有些人已经取得了如下所述的成功:stackoverflow.com/questions/512143/…
    • 嗨 Crowcoder,我已经通过在导出到 datagridview 之前更改 excel 文件的列格式来修复它,非常感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-02-18
    • 2016-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多