在机房收费系统中,其中有一个功能是:将Msflexgrid控件中的数据导入到excel中,经过几天的奋战,连查带改,现在提供一种方法,仅供参考:
实现这个功能,首先需先在工程中”引用”MrcrosoftExcel xx Object Library”,然后新建一个模块,声明如下子过程:
Public SubOutDataToExcel(Flex AsMSFlexGrid) '导出至Excel Dim s As String Dim i As Integer Dim j As Integer Dim k As Integer OnError GoTo Ert Me.MousePointer = 11 Dim Excelapp As Excel.Application Set Excelapp = New Excel.Application OnError 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
调用该子过程直接呈现的是EXCEL打印预览界面,如果需要编辑,把上面子过程中的Excelapp.Sheets.PrintPreview 和 Excelapp.Quit 这二条语句去掉,这样就会直接显示导入数据后的Excel表.
然后在命令按钮单击事件下编写如下代码:
Private sub command1_click() OutDataToExcel MSFlexGrid1 End sub
(注意,MSFlexGrid1是在vb中的表格控件名)
原文链接:https://www.f2er.com/vb/259519.html