《怎样将查询结果导出到Excel.docx》由会员分享,可在线阅读,更多相关《怎样将查询结果导出到Excel.docx(4页珍藏版)》请在三一办公上搜索。
1、怎样将查询结果导出到Excel因为我是个菜鸟,所以我写的文章都是给那些刚入门的vb新手看的。呵呵,没什么深度。欢迎大家评论!如果你想将查询结果导出到Excel另存,以便日后查看或打印的话,那么我这里说的就是怎样将查询结果导出到Excel。先来写一个函数FillDataArray,该函数的主要作用是将查询语句中的字段名和查到的记录导入到Excel中。Public Function FillDataArray(asArray, adoRS As ADODB.Recordset) As Long将数据送 Excel 函数Dim nRow As IntegerDim nCol As IntegerOn
2、 Error GoTo FillErrorReDim asArray(100000, adoRS.Fields.Count)nRow = 0For nCol = 0 To adoRS.Fields.Count - 1asArray(nRow, nCol) = adoRS.Fields(nCol).NameNext nColnRow = 1Do While Not adoRS.EOFFor nCol = 0 To adoRS.Fields.Count - 1asArray(nRow, nCol) = adoRS.Fields(nCol).ValueNext nColadoRS.MoveNextn
3、Row = nRow + 1LoopnRow = nRow + 1FillDataArray = nRowExit FunctionFillError:MsgBox Error$Exit FunctionResumeEnd Function然后再来写一个过程PrintList,来调用前面的这个函数。Private Sub PrintListDim strSource, strDestination As StringDim asTempArrayDim INumRows As LongDim objExcel As Excel.ApplicationDim objRange As Excel.
4、RangeOn Error GoTo ExcelErrorSet objExcel = New Excel.Application 新建一个ExcelDim rs As New ADODB.RecordsetSet rs = Conn.Execute(sqlall)sqlall是查询语句If Not rs.EOF ThenobjExcel.Workbooks.Open App.Path & vvv.xlsMsgBox 查询结果导出后,请将其另存为一个.xls文件,使vvv.xls中的内容为空,确保后面查询结果的正确导出。INumRows = FillDataArray(asTempArray,
5、 rs) 调填充数组函数objExcel.Cells(1, 1) = 查询结果 填表头Set objRange = objExcel.Range(objExcel.Cells(2, 1), objExcel.Cells(INumRows, rs.Fields.Count)objRange.Value = asTempArray 填数据End IfobjExcel.Visible = True 显示ExcelobjExcel.DisplayAlerts = True 提示保存ExcelExit SubExcelError:If Err <> 432 And Err > 0 ThenMsgBox Error$Set objExcel = NothingExit SubElseResume NextEnd IfEnd Sub其中用到的vvv.xls必须是先建好了的xls文件。结果导出后不要直接保存,而要将其另存为一个.xls文件,使vvv.xls中的内容为空,确保后面查询结果的正确导出。
链接地址:https://www.31ppt.com/p-3106897.html