怎样把execl中的数据调入DBGrid和MSChart中?

解决方案 »

  1.   

    用Excel对象来操作。要在References...那里引用 Excel 9.0 对象Dim VbExcel As Excel.Application
    '打开
    Set VbExcel = New Excel.Application
    VbExcel.Workbooks.Open txtFileName.Text'读数据
                strDate = VbExcel.ActiveWorkbook.Sheets(1).Cells(n, 1).Value
                strOpen = VbExcel.ActiveWorkbook.Sheets(1).Cells(n, 7).Value
                strHigh = VbExcel.ActiveWorkbook.Sheets(1).Cells(n, 8).Value
                strLow = VbExcel.ActiveWorkbook.Sheets(1).Cells(n, 9).Value
                strClose = VbExcel.ActiveWorkbook.Sheets(1).Cells(n, 10).Value
                strGross = VbExcel.ActiveWorkbook.Sheets(1).Cells(n, 11).Value
                strVolume = VbExcel.ActiveWorkbook.Sheets(1).Cells(n, 12).Value写大概已是这样吧
    用完之后,关上:    If Not VbExcel Is Nothing Then
            VbExcel.Visible = True
            VbExcel.ActiveWorkbook.Close False
            Set VbExcel = Nothing
        End If
      

  2.   

    这是一个 把Excel导入 MSHFlexGrid的例子!你改以下即可
    Dim con As ADODB.Connection
    Dim re As ADODB.RecordsetPrivate Sub Command2_Click()
      Call Conre
      re.Open "select * from [table$] where id=" & Text1.Text & "", con, adOpenDynamic, adLockBatchOptimistic
      If re.RecordCount < 1 Then
          sql = "insert into [table$](id,name,age,address) values('" & Text1.Text & "','" & Text2.Text & "','" & Text3.Text & "','" & Text4.Text & "')"
             con.Execute sql
             MsgBox "&sup3;&Eacute;&sup1;&brvbar; ", vbInformation, "&Igrave;á&Ecirc;&frac34; "
             Call Form_Load
      Else
           
             MsgBox "&frac14;&Ccedil;&Acirc;&frac14;&Ouml;&Oslash;&cedil;&acute;"
     End If
            
    End SubSub Conre()
    Set con = New ADODB.Connection
        con.Open "provider=microsoft.jet.oledb.4.0;data source=c:\excel.xls;extended properties=excel 8.0;"
        con.CursorLocation = adUseClient
        Set re = New Recordset
    End SubPrivate Sub Command3_Click()
    Call Conre
       sql = "delete from [table$] where id=" & Text1(0).Text & ""
       con.Execute sql
       Call Form_Load
    End SubPrivate Sub Command4_Click()
    Call Conre
       sql = "update  [table$] set name='" & Text1(1).Text & "',age='" & Text1(2).Text & "',address='" & Text1(3).Text & "' where id=" & Text1(0).Text & ""
       con.Execute sql
       Call Form_Load
    End SubPrivate Sub Form_Load()
      Call Conre
     re.Open "select * from [table$]", con, adOpenDynamic, adLockBatchOptimistic
     Set MSHFlexGrid1.DataSource = re
      MSHFlexGrid1.ColWidth(3) = 2000
      MSHFlexGrid1.Col = 0
      MSHFlexGrid1.Row = 1
      Set MSHFlexGrid1.CellPicture = LoadPicture("c:\x.gif", 2)
      For i = 0 To 3
         MSHFlexGrid1.Row = 1
         MSHFlexGrid1.Col = i
         Text1(i).Text = MSHFlexGrid1.Text
      Next
    End SubPrivate Sub MSHFlexGrid1_Click()
     MSHFlexGrid1.Row = MSHFlexGrid1.Row
     For i = 0 To 3
         MSHFlexGrid1.Col = i
         Text1(i).Text = MSHFlexGrid1.Text
     Next
    End Sub