
在学习sql时,我们就接触到数据的导入和导出,现在我们刚做完机房收费系统,接触到了将数据导出至EXCEL表中,我就来简单的介绍一下我实现它的方法。
由于在此系统中,我们要导出多次EXCEL数据,所以我将他们共同的地方进行PUBliC声明,到时候可以直接进行调用!
1、事先,我们必须在对EXCEL进行引用如图:
Public Sub ToExcel(flexgrID As MSHFlexGrID) '声明一个ToExcel函数
'定义声明
Dim xlsApp As Excel.Application Dim xlsBook As Excel.Workbook Dim xlsSheet As Excel.Worksheet Dim Listrst() '实例化 On Error Resume Next Set xlsApp = New Excel.Application Set xlsBook = xlsApp.Workbooks.Add Set xlsSheet = xlsBook.ActiveSheet Dim introws As Long Dim intcols As Long 'introws,intcols代表flexgrID表中的行和列 introws = flexgrID.Rows intcols = flexgrID.Cols '重新声明数组表示Excel表中的行和列分别等于被导出表中的行和列 ReDim Listrst(introws,intcols) For i = 0 To flexgrID.Rows - 1 For j = 0 To flexgrID.Cols - 1 Listrst(i,j) = Trim(flexgrID.TextMatrix(i,j)) '各行和列的数据对应相等 Next j Next i DoEvents 'doevents用来转让控制权,将其转让给 *** 作系统进行执行 With xlsSheet xlsApp.Intersect(.Range(.Rows(1),.Rows(introws)),.Range(.Columns(1),.Columns(intcols))).Value = Listrst End With xlsApp.Visible = True xlsApp.Interactive = TrueEnd Sub
1:对于intersect这个函数有以下解释:
返回一个range对象,此对象代表两个或多个范围重叠的矩形区域。
Expression.Intersect(Arg1,Arg2,...)Expression 可选。该表达式返回一个Application对象。
Arg1,... Range 类型,必需。重叠的区域。必须指定至少两个 Range对象。
2:range:range()函数创建并返回一个包含指定范围的元素的数组。
可用 Range(arg)(其中 arg 为区域名称)来返回代表单个单元格或单元格区域的 Range 对象。 具体参数的含义如下:range() 函数创建并返回一个包含指定范围的元素的数组。
语法range(first,second,step) | 参数 | 描述 |
|---|---|
| first | 必需。规定数组元素的最小值。 |
| second | 必需。规定数组元素的最大值。 |
| step | 可选。规定元素之间的步进制。默认是 1。 |
通过以上知识,我们不难理解下面这句代码的含义了吧!
xlsApp.Intersect(.Range(.Rows(1),.Columns(intcols))).Value = Listrst 总结 以上是内存溢出为你收集整理的vb中将flexgrid表中数据导出至Execel及其相关知识全部内容,希望文章能够帮你解决vb中将flexgrid表中数据导出至Execel及其相关知识所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)