美文网首页
为妹子做的从excel中读取数据的vb答题小程序

为妹子做的从excel中读取数据的vb答题小程序

作者: mztkenan | 来源:发表于2017-11-10 20:51 被阅读54次
    1. 利用ADO读取excel
      一切在机房的win7电脑中毫无问题
    '需要先引入ado 库  
      
        '功能函数,读取excel  
        '这个函数可以不用管内部的实现方法  
        '传入 excel名称,与excel sheet表名,'从excel中读取数据,返回dataset  
        'dataset 是一种数据结构,使用方法在下一个函数  
        Function ReadExcel(FileName As String, SheetName As String)  
            Dim _Connectstring = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=<FilePath>;Extended Properties=""Excel 8.0;HDR=NO;IMEX=1"""  
            Dim excConn As New OleDb.OleDbConnection(_Connectstring.Replace("<FilePath>", FileName))  
            '上两行打开一个读取excel的链接  
      
            Dim mydataset As DataSet = New DataSet  
            Using da As OleDb.OleDbDataAdapter = New OleDb.OleDbDataAdapter("SELECT * FROM [" & SheetName & "$]", excConn)  
                Try  
                    da.Fill(mydataset, SheetName)  
                Catch ex As Exception  
                    Console.WriteLine(ex)  
                End Try  
            End Using  
            '上面一段将数据写入到一个dataset中  
      
            Return mydataset  
        End Function  
      
        '从dataset中读取一个数据  
        '传入上个函数返回的dataset ,sheet名, 第几行,第几列, 返回数据  
        '用法看内部  
        Function ReadCell(dataset As DataSet, SheetName As String, row As Integer, col As Integer)  
            Return dataset.Tables(SheetName).Rows(row).Item(col)  
        End Function  
      
        '下面函数包含了一个示例=——=  
        Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click  
            Dim ExcelDataSet As DataSet = New DataSet  
            '调用ReadExcel 函数从excel读取到dataset  
            ExcelDataSet = ReadExcel("D:Orders1.xls", "Orders")  
      
            For i = 1 To 10  
                For j = 1 To 2  
                    '调用readcell 从dataset中读取某一单元格的数据  
                    Console.WriteLine(ReadCell(ExcelDataSet, "Orders", i, j))  
                Next j  
            Next i  
      
        End Sub  
    

    2.但是呢,在win10中出现了数据库驱动错误,经百度,发现是微软在安全更新中更新了驱动程序
    关于“System.Data.OleDb.OleDbException,外部数据库驱动程序 (1) 中的意外错误。”的解决方案

    解决方案:

    1、网上的方案是:在控制面板>程序>程序和功能>已安装更新中,找到对应的两个补丁,进行卸载。不同系统对应不同的补丁,具体可以参考: http://www.cnblogs.com/net-god/p/7661313.html

    2、微软给出的解决方案是:下载新的驱动引擎( Microsoft Access Database Engine 2010 Redistributable ),更改
    Provider=Microsoft.Jet.OLEDB.4.0Provider=Microsoft.ACE.OLEDB.12.0。
    http://blog.csdn.net/question00/article/details/78282292

    相关文章

      网友评论

          本文标题:为妹子做的从excel中读取数据的vb答题小程序

          本文链接:https://www.haomeiwen.com/subject/ddlrextx.html