当前位置:软件学习 > Excel >>

VB中如何将msflexgrid控件中的数据导成Excel

在机房收费系统中,其中有一个功能是:将Msflexgrid控件中的数据导入到excel中,经过几天的奋战,连查带改,现在提供一种方法,仅供参考:

实现这个功能,首先需先在工程中”引用”MrcrosoftExcel xx Object Library”,然后新建一个模块,声明如下子过程:

[vb] 
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表.

然后在命令按钮单击事件下编写如下代码:

[vb]
Private sub  command1_click() 
 OutDataToExcel MSFlexGrid1 
End sub 

补充:软件开发 , Vb ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,