通过Excel打印报表

在Visual Basic程序中使用Excel对象的具体操作如下:

(1)在工程中引用Excel对象

在工程中选择“工程”--“引用”命令,打开“引用”对话框

在此选择”Microsoft Excel 14.0 Object Library“复选框,如图所示:(14.0为版本号)

通过Excel打印报表_第1张图片

单击“确定”按钮,则Excel对象库将被加载到工程中。

(2)程序中使用New关键字声明Excel对象

    Dim newxls As New Excel.Application‘创建Excel应用程序
    Dim newbook As New Excel.Workbook’创建工作簿
    Dim newsheet As New Excel.Worksheet‘创建工作表


或者在Set语句用New关键字创建一个新对象并将对象引用赋予对象变量

    Dim newxls As  Excel.Application
    Set newxls= New Excel.Application

(3)使用Excel对象的属性和方法设计报表

(4)使用Excel对象的Visible属性显示Excel报表

 newxls.Visible = True  

(5)使用Excel对象的Quit方法释放Excel报表

    newxls.Quit

以“学生充值记录查询”为例,由MSFlexGrid1导出为Excel

通过Excel打印报表_第2张图片

Private Sub cmdExcel_Click()
    Dim r As Integer, c As Integer
    Dim newxls As Excel.Application
    Dim newbook As Excel.Workbook
    Dim newsheet As Excel.Worksheet
    Dim myval As Long
    Dim mystr As Long
    
    Set newxls = CreateObject("Excel.Application") '创建Excel应用程序,打开
    Set newbook = newxls.Workbooks.Add             '创建工作簿
    newxls.Visible = True                          '显示Excel报表
    Set newsheet = newxls.Worksheets("sheet1")     '创建工作表

    '指定表格内容
    For r = 1 To MSFlexGrid1.Rows
        For c = 1 To MSFlexGrid1.Cols
            newsheet.Cells(r, c) = MSFlexGrid1.TextMatrix(r - 1, c - 1)
        Next
    Next
     
    ’保存Excel文件
    myval = MsgBox("是否保存该Excel表?", vbYesNo, "提示窗口")
    If myval = vbYes Then
        mystr = InputBox("请输入文件名", "输入窗口")
        If Len(mystr) = 0 Then
            MsgBox "系统文件不允许名称为空!", , "提示窗口"
            Exit Sub
        End If
        newsheet.SaveAs App.Path & "\Excel文件\" & mystr & ".xls"
        MsgBox "Excel文件保存成功,位置:" & App.Path & "\Excel文件\" & mystr & ".xls", , "提示窗口"
    End If
    newxls.Quit
    
End Sub


你可能感兴趣的:(报表)