在敲“充值记录查询“窗体的时候,要求可以将数据导出到excel中。在这个环节上,遇到了那个我一直不是很熟悉的循环语句。
不过还好,终于在不断的尝试中基本掌握了。现在就以”充值记录查询“窗体为例,来纪念一下我的这次成长。
Private Sub cmdExcel_Click()
Dim newxls As excel.Application, newbook As excel.Workbook, newsheet As excel.Worksheet
Dim i As Integer, j As Integer
strSQL = "select * from Recharge_Info where CardNo='" & Trim(txtCardNo.Text) & "'"
Set ObjRs = ExecuteSQL(strSQL, MsgText)
If ObjRs.RecordCount = 0 Then
MsgBox "没有数据可供导出!", , "提示"
Exit Sub
End If
Set newxls = CreateObject("Excel.Application") '创建excel应用程序,打开excel
Set newbook = newxls.Workbooks.Add '创建工作簿
Set newsheet = newbook.Worksheets(1) '创建工作表
With newxls
.Rows(1).Font.Bold = True
End With
On Error Resume Next '如果有错误继续执行下一条
For i = 0 To MSHFlexGrid1.Rows
For j = 0 To MSHFlexGrid1.Cols
newsheet.Cells(i + 1, j + 1) = "'" & MSHFlexGrid1.TextMatrix(i, j)
Next j
Next i
newxls.Visible = True
Set newxls = Nothing
End Sub
在newsheet.Cells(i + 1, j + 1) = " ' " & MSHFlexGrid1.TextMatrix(i, j)中,之所以要加一个分号(')是因为有时候学号是以0开头的,如果不加的话导出excel后就会被自动去掉,加了以后是以字符串形式导出的,不会造成数据导出的残缺。