sql server 导出报表的几种方法

上传人:野鹰 文档编号:3174614 上传时间:2017-07-31 格式:DOC 页数:14 大小:175.50KB
返回 下载 相关 举报
sql server 导出报表的几种方法_第1页
第1页 / 共14页
sql server 导出报表的几种方法_第2页
第2页 / 共14页
sql server 导出报表的几种方法_第3页
第3页 / 共14页
sql server 导出报表的几种方法_第4页
第4页 / 共14页
sql server 导出报表的几种方法_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《sql server 导出报表的几种方法》由会员分享,可在线阅读,更多相关《sql server 导出报表的几种方法(14页珍藏版)》请在金锄头文库上搜索。

1、 SQL Server 数据表在编程中实现导出 EXCEL 几种方法-快速将 SQL Server 数据库表(或网格控件)数据导出 EXCEL关键字: SQL Server2000、Select 高级查询、MsFlexGrid、MsHFlexGrid、ListView 、EXCEL 和 VB6前言:目前,随着电脑技术知识的广泛普及,掌握微软 Office 办公软件的技术人员(一般办公人员)队伍逐渐加速扩大;促使多数商用软件如:MIS 、ERP 、MRP 等系统在解决数据输出方面,(除数据显示和打印功能外)都多了一项任务,即将数据导出 EXCEL 文件的功能。这个“转换”技术并不难,主要是将数据

2、库编程技术与 Office Excel 文件的建立、存储技术有机地结合就会把这个问题解决。以下是我们在设计开发软件中,解决数据导出EXCEL 实例,方法及相关的事宜。具体说明如下:一、采用 SQL Server 数据库导出 EXCEL 文件原由和方法在 SQL Server 数据库系统中已经提供了非常丰富的实现表导入、导出的方法,而我们又重复此举的必要性何在呢?回答:有必要。只要对用户实际工作有利有益,我们就要做,还要做好,让其到位。.其原由:用户需要数据的结果集不是大量静态表的数据,而是经过 Select 高级查询(多条件;排序;筛选,或汇总后)结果集数据,是有保存价值(有再次使用的空间)。

3、. 三种导出 EXCEL 的方法:EXCEL;1.Table (采用 Select 高级查询后的结果集) 2.Table EXCEL;控件( 显示后)(采用 Select 高级查询后的结果集)3.Table 打印(后,再导出Crystal Report 9 中文版) (采用 Select 高级查询后的结果集) EXCEL;.熟练掌握以下编程技术;1.能够熟练地掌握用编程语言,书写数据库:SQL 语句( Select 高级查询)的使用方法;2.正确地使用 MsFlexGrid、MsHFlexGrid、ListView 控件,装入 Select 高级查询后的结果集方法。3.正确设计水晶报表,解决输

4、出 Select 高级查询后的结果。.用 VB 过程调用来解决导出 EXCEL 的方法。二、实例:请见图示 1(由于篇幅所限,仅举图示 1 中的两种方法).在模块中必须的”引用”#. Microsoft Excel 11.0 Object Library#. Microsoft ActiveX Data Object 2.6 Library 以下两个实例均采用过程调用得以实现。模块中的定义代码:Option ExplicitDim RS2 As New ADODB.Recordset 定义数据集对象Dim RS4 As New ADODB.Recordset 定义数据集对象Dim Ssql1,

5、 Ssql2, Ssql3 As String Select 高级查询字符串变量Dim My_Path As String 定义路径及文件名Dim DT1, DT2 As Variant 定义日期变量Dim Q As Integer 定义数据整型变量具体步骤:.进入界面:首先,选择(HireDate )租用日期,自从 2001-01-03 截至 2003-08-27。.用鼠标点击【显示数据】按钮;符合条件的数据显示到网格中。.【显示数据】按钮下的代码:Private Sub Command1_Click() 显示数据DT1 = Format(Trim(D1.Value), yyyy-mm-dd

6、)DT2 = Format(Trim(D2.Value), yyyy-mm-dd)Ssql1 = : Ssql2 = : Ssql3 = 1.全部。2.表名。3.条件。Ssql1 = Select * From Ssql2 = EmployeesSsql3 = where hiredate= & DT1 & And hiredate 0 ThenErr.ClearSet ExcelApp = CreateObject(Excel.application)End IfDim wsBook As Workbook 定义 EXCEL 的 BOOK 变量Dim wsSheet As Worksheet

7、 定义 EXCEL 的 SHEET 变量With ExcelApp.AutoCorrect.Application.WindowState = xlMinimized.SheetsInNewWorkbook = 1.Visible = False.Workbooks.AddSet wsBook = .ActiveWorkbookSet wsSheet = .ActiveSheetEnd With-进度proBar.Min = 0proBar.Max = myGrid.RowsproBar.Value = 0proBar.Visible = True-With wsSheet.Cells.Fon

8、t.Name = System .Cells.Font.Size = 12.Name = 导出的表格 Range(Cells(1, 1), Cells(1, myGrid.Cols).Select 第一行表名Selection.HorizontalAlignment = xlCenterSelection.VerticalAlignment = xlCenterSelection.Merge 合并居中.Cells(1, 1) = strHeaderRange(Cells(2, 1), Cells(2, myGrid.Cols).Select 第二行 Select 查询字符串Selection.

9、HorizontalAlignment = xlCenterSelection.VerticalAlignment = xlCenterSelection.Merge 合并居中.Cells(2, 1) = strInfoFor R = 0 To myGrid.Rows - 1For C = 0 To myGrid.Cols - 1.Cells(R + 3, C + 1) = myGrid.TextMatrix(R, C)NextOn Error Resume Next-进度proBar.Value = R + 1-If Err.Number EXCEL 】按钮下的过程代码:Private Su

10、b Command5_Click() Table 导出 EXCEL#.注释:过程调用参数:1.Select 高级查询字符串。 2.默认当前路径及文件名。3. 表的名称。My_Path = App.Path & & Ssql2 & _T.xlsExEcToExcel Ssql1, My_Path, Ssql2 有参数过程调用MsgBox Chr(13) + 数据表已经导出到文件: + Chr(13) + Chr(13) + My_Path + , vbInformationCommand5.Enabled = FalseIf Command3.Enabled = False And Comman

11、d5.Enabled = False Then Clea_xy1 符合条件清空网格End Sub2. 生成 EXCEL 文件的代码Public Function ExEcToExcel(ByVal StrOpen As String, ByVal strFileName As String, ByVal S_TabName As String)参数: Select_高级查询字符串、导出文件路径及文件名、表名称Dim iRowCount As Integer 记录总数变量Dim iColCount As Integer 字段总数变量Dim xlApp As New Excel.Applicati

12、on 定义 EXCEL 变量Dim xlbook As Excel.Workbook 定义 EXCEL 的 BOOK 变量Dim xlsheet As Excel.Worksheet 定义 EXCEL 的 SHEET 变量Dim xlQuery As Excel.QueryTable 定义 EXCEL 的查询变量With RS4 执行数据集的操作If .State = adStateOpen Then.CloseEnd If.ActiveConnection = Mydb Cn.CursorLocation = adUseClient.CursorType = adOpenStatic.Loc

13、kType = adLockReadOnly .Source = StrOpen.OpenEnd WithWith RS4If .RecordCount 1 ThenMsgBox 没有可导出的记录 !, vbInformation + vbOKOnly, 提示 : Exit FunctionEnd If记录总数iRowCount = .RecordCount字段总数iColCount = .Fields.CountEnd WithSet xlApp = CreateObject(Excel.Application)Set xlbook = NothingSet xlsheet = Nothin

14、gSet xlbook = xlApp.Workbooks().AddSet xlsheet = xlbook.Worksheets(sheet1) xlApp.Visible = TrueWith xlsheet.Cells.Font.Name = 宋体 设置字体,加粗,字号.Cells.Font.Bold = True.Cells.Font.Size = 12 .Name = 导出 Select 查询结果集Range(Cells(1, 1), Cells(1, iColCount).Select Selection.HorizontalAlignment = xlCenterSelecti

15、on.VerticalAlignment = xlCenterSelection.Merge 合并居中.Cells(1, 1) = 表名: & S_TabName 表名称Range(Cells(2, 1), Cells(2, iColCount).Select Selection.HorizontalAlignment = xlCenterSelection.VerticalAlignment = xlCenterSelection.Merge 合并居中.Cells(2, 1) = Select 高级查询: & StrOpen 查询字符串End With添加查询语句,导入 EXCEL 数据Set xlQuery = xlsheet.QueryTables.Add(RS4, xlsheet.Range(a3) 从 a3行开始 Wi

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号