一、想要VB与Excel交互需要引用:Microsoft Excel 16.0 Object Library。
若是没有Microsoft Excel 16.0 Object Library,你可以考虑一下电脑是否安装的Office,曾将查过WPS与VB交互有点困难。若是已安装office可以看一下师哥的博客https://blog.csdn.net/whc888666/article/details/80369278。
二、去模块中的敲代码
Option Explicit Public Function EduceExcel(myGrid As MSHFlexGrid) '定义导出excel函数 Dim xlapp As New excel.Application '之所以用到new。是因为是引用类型,声明excel对象 Dim xlbook As excel.Workbook '声明工作簿对象 Dim xlsheet As excel.Worksheet '声明工作表单 Dim i As Integer Dim j As Integer If myGrid.Text = "" Then MsgBox "没有记录可导出!", vbOKOnly + vbExclamation, "警告" Exit Function Else Set xlapp = CreateObject("excel.application") '调用excel程序 Set xlbook = xlapp.Workbooks.Add(1) '创建新的空白簿 Set xlsheet = xlbook.Worksheets(1) '创建新的工作表单 For i = 0 To myGrid.Rows - 1 '填入数据 For j = 0 To myGrid.Cols - 1 xlsheet.Cells(i + 1, j + 1) = myGrid.TextMatrix(i, j) 'cell(a,b)表示a行,b列,这让写是因为vb中默认是从0开始的,而excel是从1开始的 Next j Next i xlapp.Visible = True '显示Excel表格 Set xlapp = Nothing '交还控制给Excel End If End Function
三、在窗体中调用
其中EduceExcel是过程名、MSHFlexGrid是需要导出的控件名称。