我已经做好了一个程序用来录入数据,并将数据存入sql server建立的数据库中,并且可以通过vb调用ctGrid控件显示我所输入的数据,但是当我有一批新的数据并且是存放再excel表中的时候我不想一条一条的输入,所以我想通过程序导入到数据库中,并且在ctGrid中来显示,因为ctGrid直接连接着数据库,我改如何添加导入按钮代码,实现数据导入并直接在ctGrid中显示?

解决方案 »

  1.   

    使用和你在Sql server 中的方法
    用ADO ODBC链接Excal
    再导入这种方法是把Excal 看作一张数据库中的表处理
      

  2.   

    建立一个文件DSN,把excel做为数据源,用ado绑定
      

  3.   

    如果以上方法可行的话,那我有不同名称的excel 表我该如何去绑定呢?着 就不是一个表那么简单了,恢复请详细些?告知如何去做?/
      

  4.   

    Sub SaveasXls(MForm As Form, ByVal MRs As Recordset)
    On Error Resume Next
        Dim xlApp As Excel.Application
           Dim xlBook As Excel.Workbook
           Dim xlSheet As Excel.Worksheet
           Dim j, k As Integer
           '将对象引用赋值给这些变量。
           '用 Add方法 创建新的工作簿和工作表对象。
           MForm.CommonDialog1.FileName = ""
           MForm.CommonDialog1.ShowSave
           If MForm.CommonDialog1.FileName <> "" Then
           MRs.MoveFirst
           Set xlApp = New Excel.Application
           Set xlBook = xlApp.Workbooks.Add
           Set xlSheet = xlBook.Worksheets.Item(1)
           For j = 0 To MRs.RecordCount
            For k = 0 To MRs.Fields.Count - 1
             If j = 0 Then
                  xlSheet.Cells(j + 1, k + 1) = MForm.DataGrid1.Columns(k).Caption
            Else
                xlSheet.Cells(j + 1, k + 1) = CStr(MRs.Fields(MForm.DataGrid1.Columns(k).DataField).Value)
             End If
            Next k
            If j <> 0 Then MRs.MoveNext
           Next j
           xlSheet.SaveAs MForm.CommonDialog1.FileName
           xlBook.Close
           xlApp.Quit
           Set xlApp = Nothing
           Set xlBook = Nothing
           Set xlSheet = Nothing
           End If
    End Sub
    用这个
      

  5.   

    这个是一个个CELL往里差,速度不象使用PB或者将整个CELL一下子倒入那摸快,但是可以接受,我也正在研究这个东东,怎摸使它的速度更快
      

  6.   

    楼上的你的是不是把数据往excel中导啊!!