akyou56 发表于 2015-7-1 10:27:28

SQL Server数据表在编程中实现导出EXCEL的几种方法

                     SQL Server数据表在编程中实现导出EXCEL几种方法
               ---快速将SQL Server 数据库表(或网格控件)数据导出EXCEL
关键字: SQL Server2000、Select高级查询、MsFlexGrid、MsHFlexGrid、ListView、EXCEL和VB6
前言:
      目前,随着电脑技术知识的广泛普及,掌握微软Office办公软件的技术人员(一般办公人员)队伍逐渐加速扩大;促使多数商用软件如:MIS、ERP、MRP等系统在解决数据输出方面,(除数据显示和打印功能外)都多了一项任务,即将数据导出EXCEL文件的功能。这个“转换”技术并不难,主要是将数据库编程技术与Office Excel文件的建立、存储技术有机地结合就会把这个问题解决。以下是我们在设计开发软件中,解决数据导出EXCEL实例,方法及相关的事宜。具体说明如下:
一、采用SQL Server数据库导出EXCEL文件原由和方法
在SQL Server数据库系统中已经提供了非常丰富的实现表导入、导出的方法,而我们又重复此举的必要性何在呢?回答:有必要。只要对用户实际工作有利有益,我们就要做,还要做好,让其到位。
⑴.其原由:用户需要数据的结果集不是大量静态表的数据,而是经过Select高级查询(多条件;排序;筛选,或汇总后)结果集数据,是有保存价值(有再次使用的空间)。
⑵. 三种导出EXCEL的方法:
1.Table (采用Select高级查询后的结果集) EXCEL;
2.Table (采用Select高级查询后的结果集)控件(显示后) EXCEL;
3.Table (采用Select高级查询后的结果集)打印(后,再导出) EXCEL;
⑶.熟练掌握以下编程技术;
1.能够熟练地掌握用编程语言,书写数据库:SQL 语句(Select高级查询)的使用方法;
2.正确地使用MsFlexGrid、MsHFlexGrid、ListView控件,装入Select高级查询后的结果集方法。
3.正确设计水晶报表,解决输出Select高级查询后的结果。
⑷.用VB过程调用来解决导出EXCEL的方法。
二、实例:请见图示1(由于篇幅所限,仅举图示1中的两种方法)
  
  ※.在模块中必须的”引用”
#. Microsoft Excel 11.0 Object Library
#. Microsoft ActiveX Data Object 2.6 Library
以下两个实例均采用过程调用得以实现。
模块中的定义代码:
Option Explicit
Dim RS2 As New ADODB.Recordset   '定义数据集对象
Dim RS4 As New ADODB.Recordset   '定义数据集对象
Dim Ssql1, 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")
DT2 = Format(Trim(D2.Value), "yyyy-mm-dd")
Ssql1 = "": Ssql2 = "": Ssql3 = ""          '1.全部。2.表名。3.条件。
Ssql1 = "Select * From "
Ssql2 = "Employees"
Ssql3 = " where hiredate>='" & DT1 & "' And hiredate
页: [1]
查看完整版本: SQL Server数据表在编程中实现导出EXCEL的几种方法