none
使用OleDb直接操作 excel,但出现多读取空白行的问题. RRS feed

  • 问题

  • 例如,excel文件有10行有效数据,结果读出15行?
    代码如下:
    //获取excel的数据
    Protected Function excelToDataSet(ByVal fileName As String) As DataSet
            Dim strConn As String = "Provider=Microsoft.Jet.Oledb.4.0;Data Source=" & fileName & ";Extended Properties='Excel 8.0; HDR=YES; IMEX=1'"
            Dim ds As DataSet = New DataSet

            Try
                Dim Conn As OleDb.OleDbConnection = New OleDb.OleDbConnection(strConn)
                Dim objCmd As OleDb.OleDbDataAdapter = New OleDb.OleDbDataAdapter("select * from [Sheet1$]", Conn)

                Conn.Open()
                objCmd.Fill(ds, "techerInfo")
                Conn.Close()

            Catch ex As Exception
                lblMsg.Text = ex.Message
            End Try

            Return ds
        End Function

    //使用数据
    '把数据写入数据库
                Dim ds As DataSet = excelToDataSet(filePath)
                Dim dr As DataRow() = ds.Tables(0).Select()

         。。。。。。
        For i As Integer = 0 To ds.Tables(0).Rows.Count - 1
               。。。。。。。
       next


    那里出错误了?
    我把excel文件里的空白行删除也不行??

    2010年2月25日 7:25

答案

  • 你好!

    这可能是空白行造成的,你是否正确删除了?你这样试试。新建一个 excel 将你原来 excel 中 10 行复制过来。然后再用 oledb 读取这个新的 excel。

    知识改变命运,奋斗成就人生!
    2010年3月1日 4:34
    版主