您的位置:首页 > 编程语言 > VB

VB的MSHFlexGrid控件内容导入Excel

2015-02-09 19:05 309 查看
机房收费系统中有非常多窗口用到导出到Excel,说一下vb与Excel的交互,怎样才干将MSHFlexgrid中的内容导出到Excel。

首先在VB中加入引用Microsoft Excel 14.0 Object Library。然后找到对应button,在过程中加入例如以下代码:

<pre name="code" class="vb">Private Sub cmdExport_Click()
Dim i As Long, j As Long
Dim CellsData() As String <span>		</span>'定义数组承载数据

'vb中定义excel对象
Dim objApp As Excel.Application
Dim objWorkbook As Excel.Workbook
Dim objWorksheet As Excel.Worksheet
Dim objRange As Excel.Range

'构建二维数组,容纳MSHFlexgrid中的内容
ReDim CellsData(1 To myflexgrid.Rows, 1 To myflexgrid.Cols)
For i = 1 To myflexgrid.Rows
For j = 1 To myflexgrid.Cols
CellsData(i, j) = myflexgrid.TextMatrix(i - 1, j - 1)
Next
Next

'运行导出到excel中的代码
Set objApp = New Excel.Application <span>	</span>'建立xlapp的引用
objApp.ScreenUpdating = False <span>	</span>'禁止屏幕刷新
Set objWorkbook = objApp.Workbooks.Add <span>	</span>'加入工作簿
Set objWorksheet = objWorkbook.Sheets.Add <span>	</span>'加入工作栏
Set objRange = objWorksheet.Range(objWorksheet.Cells(1, 1), & _
<span>					</span>objWorksheet.Cells(myflexgrid.Rows, myflexgrid.Cols))
objRange.Value = CellsData <span>			</span>'excel表中的内容就是数组的内容
objApp.Visible = True <span>			</span>'表可见
objApp.ScreenUpdating = True<span>		</span>'屏幕可刷新

'销毁二维数组
Erase CellsData

Me.SetFocus <span>			</span>'窗口获得焦点
MsgBox "导出完成!", vbOKOnly + vbExclamation, "警告"

End Sub



执行后例如以下:





内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: