如何将表中的数据导出到电子表格中
如何将表中的数据导出到电子表格中
有很多方法都可将数据库中某个表的数据导出到电子表格中,例如通过创建Access.Application,可以利用Access本身的导出功能实现将表中的数据导出到电子表格中。但是这种方法会占用较多的系统资源,并且缺乏通用性。如果一个数据库没有导出的功能怎么办?下面的这段程序代码利用记录集实现导出的功能,这种做法的好处是显而易见的:你可以控制要导出的数据,而不用将整个表的内容都导出到电子表格中。为简单起见下面的程序代码仍将整个表的数据导出到电子表格中。如果你有兴趣的话,对下面的代码稍加改动就可做成更为通用的一个类或是一个控件。
首先在窗体上添加一个标签控件和一个命令按钮,然后在工程中添加对DAO引用。利用下面的程序代码就可将表中的数据导出到电子表格中。
Option Explicit
Private Sub Command1_Click()
Dim tempDB As Database
Dim i As Integer ' 循环计数器
Dim j As Integer
Dim rCount As Long ' 记录的个数
Dim xl As Object ' OLE自动化对象
Dim Sn As Recordset
Screen.MousePointer = 11
Label1.Caption = "打开数据库..."
Label1.Refresh
Set tempDB = Workspaces(0).OpenDatabase("Nwind.mdb")
Label1.Caption = "创建Excel对象..."
Label1.Refresh
Set xl = CreateObject("Excel.Sheet.8")
Label1.Caption = "创建快照型记录集..."
Label1.Refresh
Set Sn = tempDB.OpenRecordset("Customers", dbOpenSnapshot)
If Sn.RecordCount > 0 Then
Label1.Caption = "将字段名添加到电子表格中"
Label1.Refresh
For i = 0 To Sn.Fields.Count - 1
xl.Worksheets(1).cells(1, i + 1).Value = Sn(i).Name
Next
Sn.MoveLast
Sn.MoveFirst
rCount = Sn.RecordCount
' 在记录中循环
i = 0
Do While Not Sn.EOF
Label1.Caption = "Record:" & Str(i + 1) & " of" & _
Str(rCount)
Label1.Refresh
For j = 0 To Sn.Fields.Count - 1
' 加每个字段的值加到工作表中
If Sn(j).Type < 11 Then
xl.Worksheets(1).cells(i + 2, j + 1).Value = Sn(j)
Else
' 处理Memo和LongBinary 类型的字段
xl.Worksheets(1).cells(i + 2, j + 1).Value = "Memo or Binary Data"
End If
Next j
Sn.MoveNext
i = i + 1
Loop
' 保存工作表
Label1.Caption = "保存文件..."
Label1.Refresh
xl.SaveAs "c:/Customers.XLS"
'从内存中删除Excel对象
Label1.Caption = "退出Excel"
Label1.Refresh
xl.Application.Quit
Else
' 没有记录
End If
' 清除
Label1.Caption = "清除对象"
Label1.Refresh
Set xl = Nothing
Set Sn = Nothing
Set tempDB = Nothing
Screen.MousePointer = 0 ' 恢复鼠标指针
Label1.Caption = "Ready"
Label1.Refresh
End Sub
Private Sub Form_Load()
Label1.AutoSize = True
Label1.Caption = "Ready"
Label1.Refresh
End Sub
用DAO打开Excel文件
_作者:th4005@mail.intonet.net.tw
>请问不用DATA元件,如何OPEN一个XLS档?
>set db=OpenDatabase("资料库")只能开mdb,*.xls档要如何开启呢?
>请教高手!
Option Explicit
Dim Db As Database
Dim Rs As Recordset
Private Sub Form_Load()
Set Db = OpenDatabase("c:/temp/book1.xls", False, False, "Excel 8.0;")
Set Rs = Db.OpenRecordset("sheet1$")
End Sub
Private Sub Form_Unload(Cancel As Integer)
Rs.Close
Db.Close
End Sub
这是最简单的办法,详细的使用方法及限制请参看 VB OnLineHelp ,资料存取物件手册、取得外部资料、使用试算表一章。
如何将表中的数据导出到电子表格中相关推荐
- 如何将存储在MongoDB数据库中的数据导出到Excel中?
将MongoDB数据库中的数据导出到Excel中,只需以下几个步骤: (1)首先,打开MongoDB安装目录下的bin文件夹,(C:\Program Files (x86)\MongoDB\Serve ...
- 将dataset中的数据导出至Excel中而不需要安装MS Excel的方法(含UNICODE支持)
偶尔做界面程序,需要一个导出Excel,而在客户端又不用安装MS Excel的方法,总结如下. 测试了两种方法,第一种方法如下(此方法支持UNICODE不存在问题): 参考:http://www.sw ...
- Laravel 将数据表中的数据导出,并生成seed文件
在 laravel 开发过程中,我们为了将自己本地数据库中的数据导出给别人用有两种方法:最普通的也就是将自己的数据库用命令行或者图形操作工具导出成 .sql 的文件给对方使用 ,另外一种就是 lara ...
- python亿级mysql数据库导出_Python实现将MySQL数据库表中的数据导出生成csv格式文件的方法...
本文实例讲述了python实现将MySQL数据库表中的数据导出生成csv格式文件的方法.分享给大家供大家参考,具体如下: #!/usr/bin/env python # -*- coding:utf- ...
- hive表中的数据导出
将hive表中的数据导出到其他任意目录,例如linux本地磁盘,例如hdfs,例如mysql等等 一.insert导出 将查询的结果导出到本地 insert overwrite local direc ...
- hive表中的数据导出:表数据的导出7种方式
将hive表中的数据导出到其他任意目录,例如linux本地磁盘,例如hdfs,例如mysql等等 insert导出 1)将查询的结果导出到本地 :第一种 insert overwrite local ...
- python处理大量excel数据-使用python将大量数据导出到Excel中的小技巧分享
(1) 问题描述:为了更好地展示数据,Excel格式的数据文件往往比文本文件更具有优势,但是具体到python中,该如何导出数据到Excel呢?如果碰到需要导出大量数据又该如何操作呢? 本文主要解决以 ...
- python输出数据到excel-使用python将大量数据导出到Excel中的小技巧分享
(1) 问题描述:为了更好地展示数据,Excel格式的数据文件往往比文本文件更具有优势,但是具体到python中,该如何导出数据到Excel呢?如果碰到需要导出大量数据又该如何操作呢? 本文主要解决以 ...
- python输出数据到excel-如何使用python将大量数据导出到Excel中的小技巧之一
如何使用python将大量数据导出到Excel中的小技巧 (1) 问题描述:为了更好地展示数据,Excel格式的数据文件往往比文本文件更具有优势,但是具体到python中,该如何导出数据到Excel呢 ...
最新文章
- java 同步包_Java并发程序设计(四)JDK并发包之同步控制
- 怎么知道 网站是否直接明文保存密码_忘记账号密码 浏览器记住了 怎么找回密码?...
- 每日一皮:发现程序员经常熬夜有三个弊端!
- 太极图正确画法_小小太极图,暗藏大乾坤!您真的看懂了这张“中华第一图”?...
- 改变Eclipse主题颜色
- 【B站视频教程笔记】基于VSCode和CMake实现C/C++开发 | Linux篇(gcc/g++)(安装、配置、使用详细教程)(VSCode教程)(CMake教程)(精!)
- 新站如何快速的度过考察期并避免进入沙盒期
- 2000年一元钱牡丹图案现在值钱吗?
- RTSP/RTP/RTCP协议的区别
- 数据结构与算法python—5.队列及python实现与leetcode总结
- 百战java课程_java百战程序员SpringBoot视频教程
- 关于SQL模糊查询日期时间的方法,格式化日期时间年月日时分秒,去掉毫秒
- 微信公众帐号测试号申请及配置
- JavaScript文档对象
- CD4040二进制计数器实验电路的效果图演示_基础硬件电路图讲解
- windows10桌面_Windows桌面美化记(一)这可能是你看过最详细的美化教程
- 1060 5G/1065 版显卡安装TensorFlow/CUDA
- 使用高匿代理访问西刺代理(假如ip被封可用高匿ip访问网站)
- 国内网页设计网站网址大全[问题点数:0分,结帖人:beijin2008]
- 去VB程序NAG窗口方法-4C法
热门文章
- 算法--06谷歌面试:字符串中第一个只出现一次的字符(Java实现)
- Java之反射代码演示说明
- Java阶段性测试--知识点:数组,面向对象,集合、线程,IO流
- springboot整合spring Cache(redis)
- Spring 利用FactoryBean来配置Bean
- 域名解析可以带端口吗_带互感器的三相电表接线,S2可以不接地吗?ABC相序可以错吗?...
- gcc-linux6.3,[环境配置]Ubuntu16.04下编译安装gcc6.3.0
- android项目模块导入eclipse编译报错,android中studio导入eclipse项目报错怎么办
- nicetool好工具_N个办公辅助好工具,无需下载,简单实用
- Linux面试最常见的5个基本问题