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


在机房收费系统中,其中有一个功能是:将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中的表格控件名)

相关文章

Format[$] ( expr [ , fmt ] ) format 返回变体型 format$ 强...
VB6或者ASP 格式化时间为 MM/dd/yyyy 格式,竟然没有好的办...
在项目中添加如下代码:新建窗口来显示异常信息。 Namespace...
转了这一篇文章,原来一直想用C#做k3的插件开发,vb没有C#用...
Sub 分列() ‘以空格为分隔符,连续空格只算1个。对所选...
  窗体代码 1 Private Sub Text1_OLEDragDrop(Data As Dat...