数据库读取EXCEL文件,部分行丢失。。。。见图

用以下语句读取EXCEL表格,却丢失部分行的数据。。。。。
系统windows-xp专业版,office-2003版本
Dim OpenFileDialog As New OpenFileDialog
        OpenFileDialog.InitialDirectory = My.Application.Info.DirectoryPath()
        OpenFileDialog.Filter = "EXCEL文件(*.xls)|*.xls"
        If (OpenFileDialog.ShowDialog(Me) = System.Windows.Forms.DialogResult.OK) Then
            Dim FileName As String = OpenFileDialog.FileName
            Dim xbwmsg As String
            xbwmsg = MsgBox("文件:'" & FileName & "'你是否确定导入!?", 1)
            If xbwmsg <> vbOK Then Exit Sub
            Dim MstrConn As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source='" & FileName & "';Extended Properties=Excel 8.0;"
            Dim myDataset As New DataSet
            Dim da As New OleDbDataAdapter("select * from [$偏差报告]", MstrConn)
            Me.Cursor = Cursors.WaitCursor
            PictureBox1.Visible = True
            Label21.Visible = True
            Label21.Text = "数据读取,请稍候……10%"
            Me.Enabled = False
            Try
                da.Fill(myDataset)
                DataGrid1.DataSource = myDataset.Tables.Item(0).DefaultView
            Catch ex As Exception
                MsgBox(ex.Message.ToString)
                Exit Sub
            End Try
            Label21.Text = "数据读取,请稍候……100%"

提问者: XBW - 菜鸟二级


问题补充: 问题已自己解答。。。。。内容见自己的评论↓ 关键是打开EXCEL表格的两个参数没有写HDR=YES; IMEX=1。。。。不知道为什么,以前都没有要参数也没有丢失数据。。。汗。大家以此为戒~~~

 

 

 

 

9个月前    XBW :
这代码是我调试的单取数据代码,直接保存到数据库也没有看见丢失数据,应该的没有取到数据。。。
9个月前    XBW :
即使全部空格都赋值,红框里面的数据也只有一行被采集,其他行照样没有。搜索网页得知,数据库读取excel有出现空值现象,不知道有什么证实比较好的代 码可以保证100%采集?而且每次采集的数据都比较庞大,全部赋值比较麻烦,也不可取。。。
9个月前    XBW :
问题终于又自己在网上参考,并且试用得到解决。。。。关键在代码中Dim MstrConn As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source='" & FileName & "';Extended Properties=Excel 8.0"没有加参数,正确代码如下:Dim MstrConn As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source='" & FileName & "';Extended Properties=‘Excel 8.0;HDR=YES; IMEX=1’"。使用后没有数据丢失现象。^o^

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值