问题1:datagrid连接adodc,其中一列内容为金额,我想统计出这列的累加值,增加到datagrid的最后一行(只显示,不更新数据库)问题2,该datagrid如何导出到excel.
以上2个问题,请求源码或实例,感谢

解决方案 »

  1.   

    '*********************************************************
    '* 名称:OutDataToExcel
    '* 功能:将MsHFlexGrid控件中显示的内容输出到Excel表格中进行打印
    '*********************************************************
    Public Sub OutDataToExcel(Flex As MSHFlexGrid)    '导出至Excel
        Dim s As String
        Dim i As Integer
        Dim j As Integer
        Dim k As Integer
        On Error GoTo Ert
        Me.MousePointer = 11
        Dim Excelapp As Excel.Application
        Set Excelapp = New Excel.Application
        On Error Resume Next
        DoEvents
        Excelapp.SheetsInNewWorkbook = 1
        Excelapp.Workbooks.Add
        Excelapp.ActiveSheet.Cells(1, 3) = s
        Excelapp.Range("C1").Select
        Excelapp.Selection.Font.FontStyle = "Bold"
        Excelapp.Selection.Font.Size = 16
        With Flex
            k = .Rows
            For i = 0 To k - 1
                For j = 0 To .Cols - 1
                   DoEvents
                   Excelapp.ActiveSheet.Cells(3 + i, j + 1) = "'" & .TextMatrix(i, j)
                Next j
            Next i
        End With
        Me.MousePointer = 0
        Excelapp.Visible = True
        Excelapp.Sheets.PrintPreview   '打印预览
    Ert:
        If Not (Excelapp Is Nothing) Then
            Excelapp.Quit
        End If
    End Sub
      

  2.   

    其实很简单,只要把那列的所有行的数据相加就行了,或者你干脆在SQL里SUM一下,就很简单的出来了结果了! 
      

  3.   

    Dim   xlsApp   As   Excel.Application 
            Dim   xlsBook   As   Excel.Workbook 
            Dim   xlsSheet   As   Excel.Worksheet 
            Set   xlsApp   =   New   Excel.Application 
            Set   xlsBook   =   xlsApp.Workbooks.Add 
            Set   xlsSheet   =   xlsBook.Worksheets(1) 
    查詢數據 
            While   Not   AdoRst.EOF 
                    
                                    xlsSheet.Cells(i,   1)   =   AdoRst(0) 
                                      ...... 
                                    i   =   i   +   1 
                    AdoRst.MoveNext 
            Wend         If   Dir( "c:\sale_chk.xls ")   < >   " "   Then   Kill   "c:\sale_chk.xls " 
            xlsBook.SaveAs   "c:\sale_chk.xls "