我是这样做的..
用循环一行一行的.显然这太笨了而且是慢得要命
大家有什么好方法.?
Dim xlbook As Object, i As Long, j As Long
If Dir(appPath & "temp.xls") = "" Then
    MsgBox "打不开临时文件:" & appPath & "temp.xls"
    Exit Sub
End If
FileCopy appPath & "temp.xls", appPath & title1 & ".xls"
Set xlbook = GetObject(appPath & title1 & ".xls")
xlbook.Application.Visible = True
xlbook.Windows(1).Visible = True
'xlbook.Application.WindowState = xlMinimized
xlbook.Application.Worksheets(1).Activate
xlbook.Application.Cells(1, 1) = title1
For i = 0 To Gridview.Rows - 1
    Gridview.Row = i
    For j = 0 To Gridview.Cols - 1
        Gridview.Col = j
        xlbook.Application.Cells(i + 2, j + 1) = Gridview.Text
    Next
Next

解决方案 »

  1.   

    我以前也是这样做的,关注好的方法
    STUDYING……
      

  2.   

    用剪贴板,百试不爽,举个例子,f12是定义的复制键,
        If KeyCode = 123 Then
            Dim strCopy As String
            For i = 1 To grdExport.Rows - 1
                strCopy = strCopy + grdExport.TextMatrix(i, grdExport.ColSel) + chr$(13)
            Next i
            Clipboard.SetText strCopy
        End If
    然后直接粘贴
      

  3.   

    Private rst as adodb.recordsetsub FillRecordSet()
        NewBook.Sheets(1).Range("a2").CopyFromRecordset rst
    end sub快给分啊!
      

  4.   

    楼上的回答好像不符题意呀。。我的问题是把msflex控件中的数据导出到excel中而不是数据记录集中的,
      

  5.   

    msflex中的数据不是一个记录集吗?
    如果不是就参考zt31(你们啊,naive!) 的吧。