注册 登录
编程论坛 VB6论坛

请教各位大神们,如何将excel中的数据用MSHFlexGrid1控件来显示?

高胜寒 发布于 2015-07-26 10:58, 482 次点击
先将我瞎编的奉上,我编的这个能打开excel却不能显示在MSHFlexGrid1表格中,各位大神,帮我看看?
Private Sub Command1_Click()
    On Error Resume Next
    Dim fileadd As String
    CommonDialog1.ShowOpen
    CommonDialog1.Filter = "xls文件(*.xls)|*.xls"
    fileadd = CommonDialog1.FileName
    MSHFlexGrid1.Redraw = False
    Set xlApp = CreateObject("excel.Application")
    Set xlBook = xlApp.Workbooks.Open(fileadd)
    xlApp.Visible = True
    Set xlsheet = xlBook.Worksheets("Sheet1")
 
    For R = 0 To MSHFlexGrid1.Rows - 1
    For C = 0 To MSHFlexGrid1.Cols - 1
    MSHFlexGrid1.Row = R
    MSHFlexGrid1.Col = C

    Next C
    Next R
 
    MSHFlexGrid1.Redraw = True
    xlApp.DisplayAlerts = False
End Sub
1 回复
#2
高胜寒2015-07-27 09:37
我现在改成了用Access数据库,数据已经可以用MSHFlexGrid1控件来显示了,只是可惜出现了乱码?请大家帮忙看看。。。
程序代码:
Private Sub Command1_Click()
    Dim cn As ADODB.Connection
    Dim rs As ADODB.Recordset
    With CommonDialog1
        .DialogTitle = "请选择要打开的数据库文件"
        .Filter = "Access 数据库|*.accdb"
        .ShowOpen
        If .FileName = "" Then Exit Sub
    Set cn = New ADODB.Connection
    Set rs = New ADODB.Recordset
    cn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Persist Security Info=False;Data Source=" & .FileName
    rs.Open "select * from 数据库文件", cn, adOpenKeyset, adLockOptimistic
    End With
   
    Set MSHFlexGrid1.DataSource = rs
End Sub
1