你如果是用下面的方式
for i= 0 to MSHFlexGrid.rows-1
    for j=0 to MSHFlexGrid.cols-1
       MSHFlexGrid.row=i
       MSHFlexGrid.col=j
       
       EXCAPP.Worksheets(1).Cells(i + 1, j + 1).Value=MSHFlexGrid.text
   next
next那么,修改一下的会快一点
for i= 0 to MSHFlexGrid.rows-1
    for j=0 to MSHFlexGrid.cols-1
       EXCAPP.Worksheets(1).Cells(i + 1, j + 1).Value=MSHFlexGrid.textmatrix(i,j)
   next
next

解决方案 »

  1.   

    如果MSHFlexGrid绑定在记录集上,可以用
    Dim db As DAO.Database
    Dim rs As DAO.Recordset
    Dim xlApp As Excel.Application
    Dim xlBook As Excel.Workbook
    ' Open the recordset.
    Set db = DBEngine.Workspaces(0). _
    OpenDatabase("D:\db1.mdb")
    Set rs = db.OpenRecordset("SELECT _
    * FROM MyTable")
    ' Open the destination Excel workbook.
    Set xlApp = New Excel.Application
    Set xlBook = xlApp.Workbooks. _
    Open("D:\Book1.xls")
    ' This is all it takes to copy the contents
    ' of the recordset into the first worksheet
    ' of Book1.xls.
    xlBook.Worksheets(1).Range("A1"). _
    CopyFromRecordset rs  '*****注意此语句*****
    ' Clean up everything.
    xlBook.Save
    xlBook.Close False
    xlApp.Quit
    rs.Close
    db.Close
    Set xlBook = Nothing
    Set xlApp = Nothing
    Set rs = Nothing
    Set db = Nothing
    End Sub
      

  2.   

    to: of123()
    xlBook.Worksheets(1).Range("A1"). _
    CopyFromRecordset rs  '*****注意此语句*****是不是把记录集中的记录导入Excel中,从A1这个单元格起啊!???
      

  3.   

    On Error Resume Next
    '===================================================================
    '創建對象
    '===================================================================
    Set oExcel = GetObject(, "Excel.Application")
    If Err.Number <> 0 Then
           Set oExcel = CreateObject("Excel.Application")
    End If
    Err.Clear
    oExcel.Visible = False
    oExcel.ScreenUpdating = False
    Set oBook = oExcel.Workbooks.Add
    Set oSheet = oBook.Worksheets(1)
    Dim j As Integer
    For i = 0 To FGridDailyData.Rows - 1
        FGridDailyData.row = i
        For j = 0 To FGridDailyData.Cols - 1
            FGridDailyData.col = j
            oSheet.Range(Cells(i + 3, j + 1), Cells(i + 3, j + 1)).Select 'EXCEL文件有倆行表頭,而且是以第1行第一列開始計算,所以行加3而列加1
            ActiveCell.FormulaR1C1 = FGridDailyData.Text
            ActiveCell.ColumnWidth = 8.4
        Next j
    Next i
      

  4.   

    如果MSHFlexGrid绑定在记录集上,可以用
    http://www.csdn.net/develop/Read_Article.asp?Id=14952Visual Basic 导出到 Excel 提速之法    
    Excel 是一个非常优秀的报表制作软件,用VBA可以控制其生成优秀的报表,本文通过添加查询语句的方法,即用Excel中的获取外部数据的功能将数据很快地从一个查询语句中捕获到EXCEL中,比起往每个CELL里写数据的方法提高许多倍。
      

  5.   

    http://expert.csdn.net/Expert/topic/1155/1155880.xml?temp=.426037