文档库 最新最全的文档下载
当前位置:文档库 › excelvbaadosql入门教程004:sql中的excel表

excelvbaadosql入门教程004:sql中的excel表

excelvbaadosql入门教程004:sql中的excel表
excelvbaadosql入门教程004:sql中的excel表

Excel VBA ADO SQL入门教程004:SQL中的Excel表

1.上期我们聊了SQL常用查询语句中的字段查询,其简化版语法如下:SELECT 字段名FROM 表名当时我们说,FROM关键词指明了要获取字段信息的表的名称。倘若数据源是Excel表格,则需要在表名后增加美元符号$,并用中括号包起来,例如[Sheet1$]……事实上,上述例子是SQL In Excel 对工作表引用最简单的一种情况,也就是整表引用;此外还有单元格区域引用、跨工作簿引用表等。所以我们今天就再来聊一下SQL语句中的Excel表。

2.区域成表Excel工作表和数据库的数据表有很多不同之处,最显著的地方在于,数据库的数据表是由行列构成的,而Excel工作表则是由一个又一个单元格构成的,且这些单元格拥有独特的地址表述方法(A1和R1C1),它们还可以构成数据相连的单元格区域,例如A2:H8。于是问题来了,如果我们只需要使用SQL语言计算某张Excel工作表的部分区域该怎么表述呢?这种问题是很常见的。比如,很多人的Excel标题行并不是处于表格的第一行,而是第2行……如下图:此时,我们希望SQL可以使用A2:F列的单元格区域作为表,而不是整个Excel工作表,这样我们更容易使用字段名处理数据……对吧?(我转头看看书柜,书柜不说话……)

再比如,一张表里存在两个或更多个“表”……这句话什么意思呢?见下图。图中所示的表格中,既存在一份“教师表”,又存在一份“学生表”;如果我们只希望SQL引用计算A2:D8的教师表数据……

呃,请把刀放下,君子动手不动刀…………好伐,Excel中的SQL其实是支持将工作表的单元格区域作为“表”使用的。上图所示的问题,SQL可以写成:SELECT 姓名,学科FROM [数据表$A2:D8]查询结果如下:而第1种情况,我们知道数据开始于A2单元格,但不知道结束于F列的哪个单元格,SQL可以写成:SELECT 姓名,爱好FROM [学生表$A2:F]另外,如果我们需要SQL引用计算表格D:G整列的数据:SELECT * FROM [学生表$D:G]总结以上几种Excel工作表区域的表述方式,也就是,工作表名称美金符号$ 相对引用状态下的单元格地址,最后使用中括号包起来。就酱紫。本节小贴士:[学生表$A2:F],我们说该语句可以引用从A2至F列最后存在数据的单元格区域,但这是有一个限制条件的,即非自连接状态。所谓自连接是指SQL应用于链接自身的工作簿。自链接状态下,A2:F的表达方式最多是A2:F65536行;倘若此时需要的引用行超过65536行,请使用整表模式。

3.跨工作簿的表一个众所周知的问题是,Excel函数在处理跨工作薄数据时很是疲态,除了个别几个查找引用类函数(例如VLOOKUP),绝大部分函数都需要打开相关工作簿后才

可以使用计算。是的,VLOOKUP函数并不需要打开相关工作簿也可以跨工作薄使用,而且在VLOOKUP公式书写完成后,即便你把它所引用的工作簿给删了,也不妨碍它计算,这是因为它已经把相关数据缓存到了公式所在的工作簿中,不过VLOOKUP这种模式并不支持函数嵌套使用……打个响指,关于这一点,如果你感兴趣,我们改天单独聊一下。说回SQL……我觉得我今天精神老是不集中,码个字也老是跑题,且慢的像蜗牛,也许有人在想我,也许有人在骂我,不管了,我先去刷会微博,哦,对了,星光俺的微博是

@EXCELers,没事记得关注下…………说回SQL~~……我们之前分享的SQL语句都是处理当前工作簿的表格,如果我们所需要处理的数据位于其它工作簿时,SQL该怎么表述呢?例如,获取位于计算机D盘的“EH小学”文件夹下的“学生表.xlsx”工作簿中的“成绩表”的所有数据——一口气读完这话的,送你一脸坏笑暴击点赞。如果是OLE DB 法(该方法参考第1章)使用SQL,语句如下:SELECT * FROM [D:\EH小学\学生表.xlsx].[成绩表$]FROM后的指定表字符串有两个部分构成,第一个中括号内是指定工作簿的存放路径带后缀的完整工作簿名称,后一个中括号内是工作表名称,两个中括号之间使用英文句号(.)相连。如果是通过VBA ADO使用SQL语句……嘟嘟敲书柜前方预警:VBA基础差的童鞋请自行跳过以下内容……相比于OLE DB

法,VBA ADO的方法要灵活的多,它可以使用ADO直接创建并打开和指定工作簿的链接,因此SQL语句便无需再指定工作簿完整名称等。代码参考如下:Sub ADO_Sql() '适用于除2003版以外的高版本Excel Dim cnn As Object, rst As Object Dim Mypath As String, Str_cnn As String, Sql As String Dim i As Long Set cnn = CreateObject('adodb.connection') Mypath = 'D:\EH小学\学生表.xlsx' '指定工作簿Str_cnn =

'Provider=Microsoft.ACE.OLEDB.12.0;Extended

Properties=Excel 12.0;Data Source=' & Mypath

cnn.Open Str_cnn '创建并打开到指定工作簿的链接Sql = 'SELECT * FROM [成绩表$]' 'Sql语句,查询成绩表的所有数据Set rst = cnn.Execute(Sql) '执行SQL

Cells.ClearContents For i = 0 To rst.Fields.Count - 1

Cells(1, i 1) = rst.Fields(i).Name Next

Range('a2').CopyFromRecordset rst cnn.Close Set cnn = NothingEnd Sub但更多的情况是,ADO创建的链接是一个工作簿,需要获取的数据在另一个或多个工作簿,例如跨表格数据查询统计。此时通常使用的代码如下:Sub ADO_Sql2() '适用于除2003版以外的高版本Excel Dim cnn As Object, rst As Object Dim Mypath As String, Str_cnn As String, Sql As String Dim i As Long Set cnn =

CreateObject('adodb.connection') Mypath = ThisWorkbook.FullName '代码所在工作簿的完整名称

Str_cnn = 'Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties=Excel 12.0;Data Source=' & Mypath

cnn.Open Str_cnn '创建到代码所在工作簿的链接Sql =

'SELECT * FROM [Excel 12.0;DATABASE=D:\EH小学\学生表.xlsm].[成绩表$]' 'Sql语句,查询成绩表的所有数据Set rst = cnn.Execute(Sql) '执行SQL Cells.ClearContents For i = 0 To rst.Fields.Count - 1 Cells(1, i 1) =

rst.Fields(i).Name Next

Range('a2').CopyFromRecordset rst cnn.Close Set cnn = NothingEnd Sub(代码详细注释及适用于03~16版本Excel 的VBA代码模版请参考第2章,回复关键词SQL可以获取过往系列文章)代码中的SQL语句是:

SELECT * FROM [Excel 12.0;DATABASE=D:\EH小学\学生表.xlsx].[成绩表$]FROM指定表的字符串有两部分组成。第一个中括号中,Excel 12.0是目标工作簿的版本号,第2章时我们讲过,Excel 12.0适用于除了2003以外的所有Excel 版本。DATABASE指定的是数据源工作簿的路径和名称。第2个中括号内是工作表名。两个中括号之间使用英文句号相连。…………看起来似乎VBA ADO方法的SQL语句比OLE DB法更复杂?确实如此,不过前者的功能也更强大。比如,

它可以通过VBA对象的属性和方法及循环、判断语句等,有条件的筛选工作簿和工作表等……相比之下,OLE DB中的SQL语句就是纯手工原始模式了。当然,更重要的是,前者不但可以查数据,还可以增改删数据,后者却只限于查。…………

把EXCEL表的数据导入到SQL数据库

如何成功把EXCEL表的数据导入到SQL数据库,代码如何编写 唯一下载软件下载,软件,下载,共享,共享软件,免费,免费软件,汉化,汉化补丁,游戏,游戏下载,软件教程,软件新闻,软件资讯,操作系统,邮件. 如何成功把EXCEL表的数据导入到SQL数据库,代码如何编 写· https://www.wendangku.net/doc/3c14623336.html,/jasoncheung/archive/2005/01/07/243624.aspx /*=================== 导入/导出Excel的基本方法===================*/ 从Excel 文件中,导入数据到SQL数据库中,很简单, ... 如何成功把EXCEL表的数据导入到SQL数据库,代码如何编写. 摘要:如何成功把EXCEL表的数据导入到SQL数据库,代码如何编写――点击此处阅读全文. 发表于@ 2006年04月05日11:21:00 | 评论(loading...) Powered by: Copyright ? gjcxywwx. DTS 能从文本文件或OLE DB 数据源(例如,Microsoft Access 2000 数据库)将数据导入到SQL Server 中。或者,也可以从SQL Server 将数据导出到OLE DB ...用DTS是肯定可以的,而且可以自动生成VB代码。我也不知道如何用SQL语句实现,关注!!!Top ... 例如:导入和导出数据。DTS 能从文本文件或OLE DB 数据源(例如,Microsoft Access 2000 数据库)将数据导入到SQL Server 中。或者,也可以从SQL Server 将数据...用DTS是肯定可以的,而且可以自动生成VB代码。我也不知道如何用SQL语句实现,关注!... ... gjcxywwx 2006-06-19T10:26:00Z VB操作LotusNotes数据库Wed, 24 May 2006 04:07:00 +0800 ... gjcxywwx 2006-04-05T11:28:00Z 如何成功把EXCEL表的数据导入到SQL数据库,代码如何编写Wed, 05 Apr 2006 19:21:00 +0800 ... 如何成功把EXCEL表的数据导入到SQL数据库,代码如何编写. 导出表中的数据到Excel,包含字段名,文件为真正的Excel文件,如果文件不存在,将自动创建文件,如果表不存在,将自动创建表基于通用性考虑,仅支持导出标准数据类型--邹建2003.10--*/导出查询中的数据...

Excel表格入门到精通教程,Excel表格教程

Excel表格25招让您从入门到精通教程2010年最新总结本教程由自动化网(https://www.wendangku.net/doc/3c14623336.html,)整理撰写 前沿: (2) 一、让不同类型数据用不同颜色显示 (2) 二、建立分类下拉列表填充项 (2) 三、建立“常用文档”新菜单 (3) 四、制作“专业符号”工具栏 (4) 五、用“视面管理器”保存多个打印页面 (4) 六、让数据按需排序 (5) 七、把数据彻底隐藏起来 (5) 八、让中、英文输入法智能化地出现 (5) 九、让“自动更正”输入统一的文本 (6) 十、在Excel中自定义函数 (6) 十一、表头下面衬张图片 (6) 十二、用连字符“&”来合并文本 (7) 十三、生成绩条 (7) 十四、Excel帮你选函数 (8) 十五、同时查看不同工作表中多个单元格内的数据 (8) 十六、为单元格快速画边框 (8) 十七、控制特定单元格输入文本的长度 (9) 十八、成组填充多张表格的固定单元格 (9) 十九、改变文本的大小写 (10) 二十、提取字符串中的特定字符 (10) 二十一、把基数词转换成序数词 (11) 二十二、用特殊符号补齐位数 (11) 二十三、创建文本直方图 (12) 二十四、计算单元格中的总字数 (12) 二十五、关于欧元的转换 (12)

前沿: 也许你已经在Excel中完成过上百张财务报表,也许你已利用Excel函数实现过上千次的复杂运算,也许你认为Excel也不过如此,甚至了无新意。但我们平日里无数次重复的得心应手的使用方法只不过是Excel全部技巧的百分之一。本专题从Excel中的一些鲜为人知的技巧入手,领略一下关于Excel的别样风情。 一、让不同类型数据用不同颜色显示 在工资表中,如果想让大于等于2000元的工资总额以“红色”显示,大于等于1500 元的工资总额以“蓝色”显示,低于1000元的工资总额以“棕色”显示,其它以“黑色”显示,我们可以这样设置。 1.打开“工资表”工作簿,选中“工资总额”所在列,执行“格式→条件格式”命令,打开“条件格式”对话框。单击第二个方框右侧的下拉按钮,选中“大于或等于”选项,在后面的方框中输入数值“2000”。单击“格式”按钮,打开“单元格格式”对话框,将“字体”的“颜色”设置为“红色”。 2.按“添加”按钮,并仿照上面的操作设置好其它条件(大于等于1500,字体设置为“蓝色”;小于1000,字体设置为“棕色”)。 3.设置完成后,按下“确定”按钮。 看看工资表吧,工资总额的数据是不是按你的要求以不同颜色显示出来了。 二、建立分类下拉列表填充项 我们常常要将企业的名称输入到表格中,为了保持名称的一致性,利用“数据有效性”功能建了一个分类下拉列表填充项。 1.在Sheet2中,将企业名称按类别(如“工业企业”、“商业企业”、“个体企业”等)分别输入不同列中,建立一个企业名称数据库。 2.选中A列(“工业企业”名称所在列),在“名称”栏内,输入“工业企业”字符后,按“回车”键进行确认。 仿照上面的操作,将B、C……列分别命名为“商业企业”、“个体企业”…… 3.切换到Sheet1中,选中需要输入“企业类别”的列(如C列),执行“数据→有效性”

SQL Server数据与Excel表的导入导出

几乎所有的数据库管理者或者是与数据库打过交道的朋友,几乎都或多或少的了解并使用过数据导入导出的功能以便完成支持诸如数据合并、归档和分析等任务,以及开发应用程序或升级数据库或服务器,而这一切的便利都已经被SQL Server中的数据转换服务(DTS)囊括其中,它提供了一套图形化工具和可编程对象,以帮助管理员和开发人员和需要进行数据维护的人员解决数据移动问题,其中包括将数据从分散的数据源中提取出来,并且转换、合并到一个或多个目标位置。可以将任务组、工作流操作以及约束条件收集起来形成DTS软件包,然后安排它定期运行或在某些事件发生后运行。 首先我们来先认识一下什么是DTS,它是一组工具,用于在一个或多个数据源(如Microsoft SQL Server、Microsoft Excel或Microsoft Access)间导入、导出和转换各种数据。通过OLE DB(一种数据访问的开放式标准)提供连接,通过用于ODBC的OLE DB提供程序来支持ODBC(开放式数据库连接)数据源。 在这里我们将以具体的实例来介绍DTS数据的导入导出功能。例:使用DTS向导导出自己建立的dmtjxxb数据库中的dmtjxxb_register表,到Excel表中。 操作步骤为: (1)启动SQL Server企业管理器(Enterprise Manager)后,点击SQL Server组,选择 指定的服务器,如此次操作的数据库是我本地的数据库,如图:

SQL Server企业管理器

本地数据库 选中要导出的数据库名称,点击鼠标右键,在弹出的菜单点击“所有任务”选择“导出数据”选项,如下图所示,就会弹出数据导入导出向导。 (2)单击“下一步”按钮,打开选择数据源对话框,如下图所示:

Excel基础入门教程精编版

Excel基础入门教程 新建文件夹 Excel是一个电子表格软件,属于微软的Office系列,国产的是金山WPS,电子表格处理主要包括,数据录入、处理、排序、打印等等各个方面,我们先来做好准备工作; 1、打开我的文档 1)在桌面上双击“我的文档”图标,进入文件夹; 2)在空白处单击鼠标右键,在出来的菜单中选择“新建”命令; 3)在出来的下一级菜单中,选择上边的“文件夹”命令;

4)这时在工作区出来一个新的文件夹,名称那儿是蓝色的,按退格键删除里头的“新建文件夹”, 然后输入自己姓名的拼音,输好后再用鼠标点一下图标,这样一个自己名字的文件夹就建好了; 这儿也可以输汉字,点击输入法图标,选择一个汉字输入法,输入自己的名字就可以; 5)在图标上双击,进入文件夹看一下,由于是新建的文件夹,里头还是空的,后面我们会逐渐保存上自己的文件; 本节学习了新建文件夹的一般方法,如果你成功地完成了练习,请继续学习; Excel基础入门教程 认识窗口 Excel是一个电子表格处理软件,电子表格由一张张表格组成,首先我们来学习一下如何输入和保存电子表格,下面我们认识一下它的窗口; 1、启动Excel 1)点击“开始-所有程序-Microsoft-Microsoft Office Excel 2003”;

2、Excel窗口 1)出现一个满是格子的空白窗口,这就是一张电子表格了,第一个格子看着边框要粗一些,处于选中状态; 2)最上面是标题栏,默认的是文件名Book1,保存的时候起一个有意义的,Excel的文件称作“工作薄”; 3)再下面是菜单栏,里面是各个操作命令,记住常用的“文件”和“格式”菜单;

Excel表格初级教程

第二部分使用公式查询数据 第一讲认识中文Excel 2000的计算公式 一旦在中文Excel 2000中建立起了电子报表,就可以按前面课程中所述的操作计算并显示某一列单元格区域内各值的总计值。其实,中文Excel 2000提供有自动计算功能,如选定“工资额”列中的各单元格后,状态栏中就将显示各项数据记录的总值:求和= ¥5,010.00;若选定“年龄” 列中的各单元格,状态栏中显示的总计值为:求和=184。这种显示总计的操作,也可以用于某一行,或者某几行所有或者部分单元格。这就是中文Excel 2000与中文Visual FoxPro 6最大不同之处,不但能轻易的建立起计算公式,还能在指定位置显示计算的结果。 此外,若选定单元格后右击状态栏,然后从一份快捷菜单中还能选择显示这些选定单元格内各数字的平均值、最大值或最小值。若选择此快捷菜单中的“计数值”命令,中文Excel 2000会自动计算将要统计含有数值的单元格个数,选择“计数”命令则自动计算将要统计的已填充单元格数目。 在中文Excel 2000中,“公式”是在单元格中执行计算的方程式,如一个执行数学计算的加、减就是一种简单的公式。在前面的操作中,对工资额的总计就使用了这样的公式,此时若单击显示工资额总计的单元格——D9,当它处于选定状态,“编辑栏”中就会显示所使用的公式,如图 1所示。 图 1 在“编辑栏”中观看计算公式

这里,D9单元格中的公式 = SUM(D3:D9)所要计算的是单元格D3至D9中各数值的和,其值将显示在D10单元中。您一定还记得前面是如何在D10单元格中进行操作来显示统计数字的,若想要在别的单元格中也显示该值,而且还是让中文Excel 2000自动计算它,那么就单击那个单元格,接着在该单元格中输入这个公式吧! 当然了,如果想在“编辑栏”进行操作也行,只要您记住公式的应用法则,无论在单元格中,还是在“编辑栏”中总能准确无误的建立并使用公式的。而公式的应用法则呢又是那样的简单,如下面的公式即可将单元格 B4 中的数值加上 25,再除以单元格 D5至E5单元格的数值 不过,这一条公式的建立就不同了,不能使用前面的方法来建立,而需要在“编辑栏”中使用编辑的方法。 注意:如果正确的创建了计算公式,那么在中文Excel 2000的默认状态下,其计算值就会显示在单元格中,公式则显示在“编辑栏”中。如果要使工作表中所有的公式在显示公式内容与显示结果之间切换,可按下CTRL+`组合键(位于键盘左上侧)。一旦建立起了计算公式,中文Excel 2000将根据公式中运算符的特定顺序从左到右进行计算,也可以使用括号更改运算顺序,而且与小学课程中四则混合运算法则相同。 第二讲创建计算公式 下面将要为某公司的经营情况创建一张电子报表,并使用计算公式做一些统计,请先按下列步骤进行操作。 步骤一、单击屏幕左下角处的Sheet 3标签,然后在A1单元格中开始书写“北京分公司本月收支一揽表”字样,并设置好字体与字号(即字的大小尺寸),如图 2所示。

EXCEL编程入门教程

EXCEL编程初学者教程 新术语:“宏”,指一系列EXCEL能够执行的VBA语句。 以下将要录制的宏非常简单,只是改变单元格颜色。请完成如下步骤: 1)打开新工作簿,确认其他工作簿已经关闭。 2)选择A1单元格。调出“常用”工具栏。 3)选择“工具”—“宏”—“录制新宏”。 4)输入“改变颜色”作为宏名替换默认宏名,单击确定,注意,此时状态栏中显示“录制”,特别是“停止录制”工具栏也显示出来。替换默认宏名主要是便于分别这些宏。★宏名最多可为255个字符,并且必须以字母开始。其中可用的字符包括:字母、数字和下划线。宏名中不允许出现空格。通常用下划线代表空格。 5)选择“格式”的“单元格”,选择“图案”选项中的红色,单击“确定”。 6)单击“停止录制”工具栏按钮,结束宏录制过程。 ※如果“停止录制”工具栏开始并未出现,请选择“工具”—“宏”—“停止录制”。 录制完一个宏后就可以执行它了。 1.4 执行宏 当执行一个宏时,EXCEL按照宏语句执行的情况就像VBA代码在对EXCEL进行“遥控”。但VBA的“遥控”不仅能使操作变得简便,还能使你获得一些使用EXCEL标准命令所无法实现的功能。而且,一旦熟悉了EXCEL的“遥控”,你都会奇怪自己在没有这些“遥控”的情况下,到底是怎么熬过来的。要执行刚才录制的宏,可以按以下步骤进行: 1)选择任何一个单元格,比如A3。 2)选择“工具”—“宏”—“宏”,显示“宏”对话框。 3)选择“改变颜色”,选择“执行”,则A3单元格的颜色变为红色。试着选择其它单元格和几个单元格组成的区域,然后再执行宏,以便加深印象。 1.5 查看录制的代码 到底是什么在控制EXCEL的运行呢?你可能有些疑惑.好,让我们看看VBA的语句吧. 1)选择“工具”—“宏”—“宏”,显示“宏”对话框。 2)单击列表中的“改变颜色”,选择“编辑”按钮。 此时,会打开VBA的编辑器窗口(VBE)。关于该编辑器,以后再详细说明,先将注意力集中到显示的代码上。代码如下:(日期和姓名会有不同)

将EXCEL导入SQL表

将EXCEL表导入SQL表 医院在正式使用软件之前,需要将药品、收费项目等进行集中录入。这是一件基础工作,工作量大。如果能够先将药品、收费项目输入到EXCEL表中,再直接导入我们的软件,这样可以加快录入速度。 从EXCEL中导入数据到SQL中,操作步骤如下: 一、准备阶段(主要是为药品或者项目生成六位数的字母编码。): 首行,需要在EXCEL中增加一列,为药品生成编码。软件默认的编码格式为六位字母。1、人工录入完成的EXCEL表样式: 请将第一行中的编码、名称、处方单位等中文改成对应的拼音字母: 编码(bm)、药品名称(mc)、处方单位(dw)、整量单位(kxdw)、换算系数(xs)、规格(ggxh)、零售价(lsj)、药品分类(zxfl) 1、这时,编码(bm)列为空,在灵图医院软件中,药品的编码格式为六位字母,如AAAABA、AAAABB 等,但如何能够按顺序生成这样的编码呢?操作步骤如下: A、依次点工具-宏-visaul basic 编辑器,新弹出窗口如下:

B、在左边的对象上,右键,选择“导入文件…”,在文件选择路径中,找到医院软件目录中的bm.bas 文件,确定。 C、这时,在“模块”下方将增加“自动编码”模块, D、关掉本窗口,返回到EXCEL窗口 2、在表的A2单元格中输入编码:AAAABA 3、选中A3单元格,在上面的公式条中输入=GETNEXTBM(A2),回车确认,则A3单元格中的值自 动生成为:AAAABB 4、选中A3单元格,往下拉,所有的编码将自动生成。 二、将EXCEL表导入SQL表 1、依次打开SQL的企业管理器-数据库-表,如图:

通过ODBC直接读、写Excel表格文件

想要通过ODBC直接读、写Excel表格文件,首先,应确保ODBC中已安装有Excel表格文件的驱动"MICROSOFT EXCEL DRIVER (*.XLS)"。然后,可根据下面步骤进行:1. 在StdAfx.h文件中加入:include include 2. 通过ODBC直接创建Excel文件(暂定文件名:Demo.xls) //创建并写入Excel文件void CRWExcel::WriteToExcel() { CDatabase database; CStringsDriver = "MICROSOFT EXCEL DRIVER (*.XLS)"; // Excel安装驱动CStringsExcelFile = "c:\\demo.xls"; // 要建立的Excel文件CStringsSql; TRY { // 创建进行存取的字符串sSql.Format("DRIVER={%s};DSN='';FIRSTROWHASNAMES=1;READONLY=FALSE;CREATE_DB=\"%s\" ;DBQ=%s",sDriver, sExcelFile, sExcelFile); // 创建数据库(既Excel表格文件) if( database.OpenEx(sSql,CDatabase::noOdbcDialog) ) { // 创建表结构(姓名、年龄) sSql = "CREATE TABLE demo (Name TEXT,Age NUMBER)"; database.ExecuteSQL(sSql); // 插入数值sSql = "INSERT INTO demo (Name,Age) VALUES ('徐景周',26)"; database.ExecuteSQL(sSql); sSql = "INSERT INTO demo (Name,Age) VALUES ('徐志慧',22)"; database.ExecuteSQL(sSql); sSql = "INSERT INTO demo (Name,Age) VALUES ('郭徽',27)"; database.ExecuteSQL(sSql); } // 关闭数据库database.Close(); } CATCH_ALL(e) { Excel学习教程Excel介绍Excel教程Excel 表格Excel函数Excel图表TRACE1("Excel驱动没有安装: %s",sDriver); } END_CATCH_ALL; } 3. 通过ODBC直接读取Excel文件(暂定文件名:Demo.xls) // 读取Excel文件void CRWExcel::ReadFromExcel() { CDatabase database; CStringsSql; CString sItem1, sItem2; CStringsDriver; CStringsDsn; CStringsFile = "Demo.xls"; // 将被读取的Excel文件名// 检索是否安装有Excel驱动"Microsoft Excel Driver (*.xls)" sDriver = GetExcelDriver(); if (sDriver.IsEmpty()) { // 没有发现Excel驱动AfxMessageBox("没有安装Excel驱动!"); return; } // 创建进行存取的字符串sDsn.Format("ODBC;DRIVER={%s};DSN='';DBQ=%s", sDriver, sFile); TRY { // 打开数据库(既Excel文件) database.Open(NULL, false, false, sDsn); CRecordsetrecset(&database); // 设置读取的查询语句. sSql = "SELECT Name, Age " "FROM demo " "ORDER BY Name "; // 执行查询语句recset.Open(CRecordset::forwardOnly, sSql, CRecordset::readOnly); // 获取查询结果while (!recset.IsEOF()) { //读取Excel内部数值recset.GetFieldValue("Name ", sItem1); recset.GetFieldValue("Age", sItem2); // 移到下一行recset.MoveNext(); } // 关闭数据库database.Close(); } CATCH(CDBException, e) { // 数据库操作产生异常时... AfxMessageBox("数据库错误: " + e->m_strError); } END_CATCH; } // 获取ODBC中Excel驱动CStringCRWExcel::GetExcelDriver() { char szBuf[2001]; WORD cbBufMax = 2000; WORD cbBufOut; char *pszBuf = szBuf; CStringsDriver; // 获取已安装驱动的名称(涵数在odbcinst.h里) if (!SQLGetInstalledDrivers(szBuf, cbBufMax, &cbBufOut)) return ""; // 检索已安装的驱动是否有Excel... do { if (strstr(pszBuf, "Excel") != 0) { //发现! sDriver = CString(pszBuf); break; } pszBuf = strchr(pszBuf, '\0') + 1; } while (pszBuf[1] != '\0'); return sDriver; }

Excel编程入门教程

VBA入门系列讲座 1.1 VBA是什么 直到90年代早期,使应用程序自动化还是充满挑战性的领域.对每个需要自动化的应用程序,人们不得不学习一种不同的自动化语言.例如:可以用excel的宏语言来使excel自动化,使用word BASIC使word自动化,等等.微软决定让它开发出来的应用程序共享一种通用的自动化语言--------Visual Basic For Application(VBA),可以认为VBA是非常流行的应用程序开发语言V ASUAL BASIC 的子集.实际上VBA是"寄生于"VB应用程序的版本.VBA和VB的区别包括如下几个方面: 1. VB是设计用于创建标准的应用程序,而VBA是使已有的应用程序(excel等)自动化 2. VB具有自己的开发环境,而VBA必须寄生于已有的应用程序. 3. 要运行VB开发的应用程序,用户不必安装VB,因为VB开发出的应用程序 是可执行文件(*.EXE),而VBA开发的程序必须依赖于它的"父"应用程序,例如excel. 尽管存在这些不同,VBA和VB在结构上仍然十分相似.事实上,如果你已经了 解了VB,会发现学习VBA非常快.相应的,学完VBA会给学习VB打下坚实的基础.而且,当学会在excel中用VBA创建解决方案后,即已具备在word access OUTLOOK FOXPRO PROWERPOINT 中用VBA创建解决方案的大部分知识. * VBA一个关键特征是你所学的知识在微软的一些产品中可以相互转化. * VBA可以称作excel的“遥控器”.

VBA究竟是什么?更确切地讲,它是一种自动化语言,它可以使常用的程序自动化,可以创建自定义的解决方案. 此外,如果你愿意,还可以将excel用做开发平台实现应用程序. 1.2 excel环境中基于应用程序自动化的优点 也许你想知道VBA可以干什么?使用VBA可以实现的功能包括: 1. 使重复的任务自动化. 2. 自定义excel工具栏,菜单和界面. 3. 简化模板的使用. 4. 自定义excel,使其成为开发平台. 5. 创建报表. 6. 对数据进行复杂的操作和分析. 用excel作为开发平台有如下原因: 1. excel本身功能强大,包括打印,文件处理,格式化和文本编辑. 2. excel内置大量函数. 3. excel界面熟悉. 4. 可连接到多种数据库.

人事必备:用EXCEL表轻松建立人事数据库

轻松运用EXCEL建立人事信息库 接下来请您不要急着录入人员信息,我们要对一些信息项进行函数设置,以便系统可以自动生成相关信息,这会使我们的工作产生事半功倍的效果。 1、性别、出生月日、年龄的自动填充功能设置 我们先对“性别”“出生年月”“年龄”进行函数设置。当我们输入某人身份证号码时,系统便会自动生成“性别”,“出生年月”及“年龄”,这样就减少了我们录入的工作量。请分别选择性别、出生月日、年龄信息项单元格输入下列公式: (1)性别: =IF(MOD(IF(LEN(E3)=15,MID(E3,15,1),MID(E3,17,1)),2)=1,"男","女") 含义:“LEN(E3)=15”表示看E3中是否有15个字符; “MID(E3,15,1)”表示在E3中从第15位开始提取1位字符; “MOD(MID(),2)=1”表示提取的字符除以2余数为1; “IF(LEN(E3)=15,MID(E3,15,1),MID(E3,17,1)”表示看E3中是否够15个字符,如果够就从第15个字符开始取1个字符,如果不够15个字符就从第17个字符开始取1个字符。我们的身份证号码一般是15位或18位。 “IF(MOD(IF(LEN(E3)=15,MID(E3,15,1),MID(E3,17,1)),2)=1,"男","女"”表示所取字符除以2如果余数为1显示男,否则显示女。 (2)出生年月: =DATE(MID(E3,7,4),MID(E3,11,2),MID(E3,13,2)) 含义:DATE(YEAR,MONTH,DAY); “MID(E3,7,4)”表示在E3中从第7个字符开始连续取4个字符表示年,用类似的表示方法一个人的出生年月日便可以通过函数设置表示出来,如果为了看起来方便,我们可以将单元格格式设置成年、月、日的日期格式,这样显示的结果会非常容易理解。 (3)年龄: =DATEDIF(G3,TODAY(),"Y") 含义:“DATEDIF(date1,date2,“Y”)”表示两个日期的差值; “TODAY()”表示系统自带的日期即显示当日日期; “DATEDIF(G3,TODAY(),"Y")”表示今天的日期与G3所表示的出生月日之间的年份差值,这样一个人的年龄就会容易的显示出来了。 2、劳动合同期限的自动生成和提前30天定期提醒功能设置 劳动合同管理也是人事管理中不可缺少的一部分,特别是劳动合同到期续签问题更是不可忽视。如果由于我们的人为原因造成了劳动合同漏签、延期签订等问题可能会给公司以及员工个人带来一定的损失。从一个人入职签订试用期合同开始,再到签订正式劳动合同以及后来的续签劳动合同,一系列的日期如何能够让系统自动生成,并且形成系统提前30天自动提醒我们的功能呢?这需要对一些信息项进行函数设置。如图(二)所示:

(完整word版)使用Word制作电子表格初级教程

一张简洁明了的报价表,给买家赏心悦目的感受,也可以事半功倍呢,呵呵加油! 第一步,大家双击打开Word软件, 第二步,新建一个空白文档。 点击窗口左上角的“文件”,在下拉菜单中,选择“新建”选项, 我们建立了空白文档,下面就可以来设计制作咱们的表格文档了。 第三步,进行页面设置。 我们的打印纸一般常用的有A4纸和16开的纸,我以A4纸(比16开稍大一些)为例。 点击窗口左上角的“文件”,在下拉菜单中选择“页面设置”选项,点击打开,在“页面设置”对话框中,首先选择“纸张”选项卡,在“纸张大小”的下拉框中选定合适的纸张。纸张大小设置好之后,再选择“页边距”选项卡,设置你所需要的纸张上下左右的页边距。然后选择页面的“方向”中的“纵向”,全部设置好之后,按“确定”。到此页面设置基本完成。 第四步,可以开始输入文字内容了,首先设置“表头” 1.表头的字体(一般是楷体), 2.字号(一般使用2号字), 3.粗体(点击字母“B ”, 4.居中对齐,接下来,就可以输入表头文字了,切换输入法,输入“‘小爱美食’产品批发价目表” 表头输入完毕,下面就开始插入表格了。在插入表格之前,大家再一次把“字体”、“字号”、“粗细”改一下,改为“宋体”、“四号”、“不加粗(只要再点一下'B') 第五步,插入表格。 点击导航栏“表格”菜单,在下拉菜单中选择“插入”,再选择二级菜单里的“表格”。在弹出框里,设置好行数和列数,下面设置行数和列数,再点“确定”。 这样表格就基本出来了,接下来,就可以在表格里填写数据了。这时候大家可能会发现,每一个单元格的宽度都是一样的,而实际上我们是需要有些格子宽些,有些格子窄些,这样安排才更美观、合理。大家不要急,方法很简单,大家一边看小爱的文字解说,一边看(下图)。你也可以用鼠标跟着一起做哦。 大家把鼠标指针放到表格的竖线上,会发现鼠标指针变成了左右双箭头,这时候按下鼠标左键不放松,就会出现一条从上到下的虚线,这时候按住左键向左右拖动,表格的竖线条就会跟着鼠标一起左右移动。大家可以根据您的实际需要来移动到适当的位置。 第六步,填入表格数据。 大家可以把您的所有的数据都填入到表中。 到此,表格就已经基本制作完成了。 大家如果要看打印出来的效果,可以进行“打印预览”。

利用SQL Server的DTS操作EXCEL、Access等数据表的导入导出

利用SQL Server的DTS操作EXCEL、Access等数据表的导入导出- - 熟悉SQL SERVER 2000的数据库管理员都知道,其DTS可以进行数据的导入导出,其实,我们也可以使用Transact-SQL语句进行导入导出操作。在Transact-SQL语句中,我们主要使用OpenDataSource 函数、OPENROWSET 函数,关于函数的详细说明,请参考SQL联机帮助。利用下述方法,可以十分容易地实现SQL SERVER、ACCESS、EXCEL数据转换,详细说明如下: 一、SQL SERVER 和ACCESS的数据导入导出 常规的数据导入导出: 使用DTS向导迁移你的Access数据到SQL Server,你可以使用这些步骤: 1在SQL SERVER企业管理器中的Tools(工具)菜单上,选择Data Transformation 2Services(数据转换服务),然后选择czdImport Data(导入数据)。 3在Choose a Data Source(选择数据源)对话框中选择Microsoft Access as the Source,然后键入你的.mdb数据库(.mdb文件扩展名)的文件名或通过浏览寻找该文件。 4在Choose a Destination(选择目标)对话框中,选择Microsoft OLE DB Prov ider for SQL Server,选择数据库服务器,然后单击必要的验证方式。 5在Specify Table Copy(指定表格复制)或Query(查询)对话框中,单击Copy tables(复制表格)。 6在Select Source Tables(选择源表格)对话框中,单击Select All(全部选定)。下一步,完成。 Transact-SQL语句进行导入导出: 1. 在SQL SERVER里查询access数据: -- ====================================================== SELECT * FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',

用sql直接操作excel表

用sql直接操作excel表 start from 李孟尝 INSERT INTO OutputCane(ctime,outvalue,area,vid,ctimeint) Select ctime,buyprice as outvalue,area,vid,left(ctime,4) as ctimeint From OpenRowSet('Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;Database=E:\workspace\brk\table_20100816\InsertGj.xls' , 'select * from [巴西甘蔗产量$]') end from 直接操作excel select b.时间as etime ,广州as value ,a.id as areaid , 3 as varid from QH_Area a, OpenRowSet('Microsoft. Jet.OLEDB.4.0','Excel 8.0;Database=D:/xitong/糖现货价格.xls','select * from [Sheet1$] where 广州is not null ') b where https://www.wendangku.net/doc/3c14623336.html,='广州' --配置权限 EXEC sp_configure 'show advanced options', 1; GO RECONFIGURE; GO EXEC sp_configure 'Ad Hoc Distributed Queries', 1; GO RECONFIGURE; GO SQL SERVER 和EXCEL的数据导入导出 1、在SQL SERVER里查询Excel数据: -- ====================================================== SELECT* FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0', 'Data Source="c:\book1.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$] 下面是个查询的示例,它通过用于Jet 的OLE DB 提供程序查询Excel 电子表格。 SELECT* FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0', 'Data Source="c:\Finance\account.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactio ns ------------------------------------------------------------------------------------------------- 2、将Excel的数据导入SQL server : -- ====================================================== SELECT*into newtable FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',

excel表格简易入门教程

Excel 使用技巧集锦——163 种技巧 目录 一、基本方法7 1. 快速选中全部工作表7 2. 快速启动EXCEL 7 3. 快速删除选定区域数据7 4. 给单元格重新命名7 5. 在EXCEL 中选择整个单元格范围7 6. 快速移动/复制单元格8 7. 快速修改单元格式次序8 8. 彻底清除单元格内容8 9. 选择单元格8 10. 为工作表命名9 11. 一次性打开多个工作簿9 12. 快速切换工作簿9 13. 选定超级链接文本(微软OFFICE 技巧大赛获奖作品)10 14. 快速查找10 15. 修改默认文件保存路径10 16. 指定打开的文件夹10 17. 在多个EXCEL 工作簿间快速切换10 18. 快速获取帮助11 19. 创建帮助文件的快捷方式11 20. 双击单元格某边移动选定单元格11 21. 双击单元格某边兰蔻清脂酵素 22. 快速选定不连续单元格11 23. 根据条件选择单元格11 24. 复制或移动单元格12 25. 完全删除EXCEL 中的单元格12 26. 快速删除空行12 27. 回车键的粘贴功能12 28. 快速关闭多个文件12 29. 选定多个工作表12 30. 对多个工作表快速编辑13 31. 移动和复制工作表13 32. 工作表的删除13 33. 快速选择单元格13 34. 快速选定EXCEL 区域(微软OFFICE 技巧大赛获奖作品) 13 35. 备份工件簿14 36. 自动打开工作簿14 37. 快速浏览长工作簿14 38. 快速删发型: 39. 绘制斜线表头14 40. 绘制斜线单元格15 41. 每次选定同一单元格15

C#中数据库数据如何导出至Excel表格

C#中数据库数据如何导出至Excel表格 有时候需要将数据库的数据导出至Excel表格表格,以便进行查看和分析,那么如何导出呢?下面用代码来实现。 首先,新建一个工程,需要添加引用Microsoft.Office.Interop.Excel.dll,以Oracle数据 库为例(只要读出DataTable或DataSet就行了,哪种数据库没关系)。 1、创建一个表格,并插入如下数据。 [sql]view plaincopyprint? 1.drop table TABLETESTEXCEL; 2.create table TABLETESTEXCEL 3.( 4. col_id NUMBER not null, 5. col_name VARCHAR2(32), 6. col_age NUMBER, 7. col_sex VARCHAR2(4), 8. col_work VARCHAR2(32), 9. col_mony FLOAT 10.); 数据: [sql]view plaincopyprint? 1.insert into TABLETESTEXCEL (col_id, col_name, col_age, col_sex, col_work, col_mony) 2.values (1, '吴一', 25, '男', '.NET', 5000); 3. 4.insert into TABLETESTEXCEL (col_id, col_name, col_age, col_sex, col_work, col_mony) 5.values (2, '孙二', 24, '男', 'JAVA', 4999); 6. 7.insert into TABLETESTEXCEL (col_id, col_name, col_age, col_sex, col_work, col_mony) 8.values (3, '张三', 25, '男', 'PHP', 5001);

WORD、EXCEL基础教程(全)

第一课:word2003介绍与工作介面 一、word2003介绍 word2003是由微软公司出品的Microsoft office系列办公软件之一,他主要用于办公文件排版方面,拥有强大的图片混排和表格制作的功能,也用于其它印刷品的排版,比如宣传单、杂志等,因为其操作简单、介面友好、功能强大,所以在自动化办公方面应用非常广泛,是现代办公室不可缺少的软件之一。 二、word2003工作介面 1)标题栏:位于Word2003工作窗口的最上面,用于显示当前正在编辑文档的文件名等相关信息。 2)菜单栏:包括“文件、编辑、视图、帮助”等菜单。 3)常用工具栏:是一般应用程序调用命令的一种快捷方式。 4)标尺:包括水平标尺和垂直标尺,可快速设置文档的页边距和缩进量,或表格的栏宽和制表位。 5)工作区:编辑文档。 6)状态栏:用来显示文档当前的状态。 三、Word2003基本操作 1、启动Word2003 (1)单击“开始/程序/microsoft office/Word2003”, (2)双击桌面Word2003图标即可。 2、退出Word2003 (1)鼠标点击标题栏上的关闭按钮, (2)双击标题栏上Word2003图标, (3)Alt+F4。 第二课:Word2003文本的操作 一、文档的基础操作 1、文档的建立、保存与打开 (1)新建文档

启动Word2003后,会自动建立一个默认空白文档,单击“文件/新建”命令或Ctrl+N或 单击工具栏的“新建”按钮。 (2)保存文档 方法一、“文件/保存”命令或Ctrl+S方法二、常用工具栏的“保存”按钮 (3)打开文档 方法一、“文件/打开”命令或Ctrl+O 方法二、在打开对话框的“查找范围”栏内,选择要打开的文档, 2、输入文字和符号 (1)输入文字 建立新文档后,将光标定位到文本插入点,直接可以在文档中输入英文,如果要输入中文,必须切换到中文输入法状态。输入法的切换:单击任务栏中的输入法图标或Ctrl+Shift即可。 (2)在文档中插入符号和特殊字符 如键盘上没有的符号可在“插入/符号或特殊符号”中选择——>在“字体”框内选择一种字体,不同的字体有不同的符号——>选择需要在文档中插入的一个符号——>单击“插入”按钮即可。 二、文本的清除: ◎Backspace(退格键)删除光标以左的内容 ◎Delete(删除键)删除光标以右的内容 (注:分清“插入/改写”模式,改写模式下可直接改写文本。) 二、文本的选定 ◎鼠标:在“选定栏”:单击选行,双击选段,三击选全文(注:Alt+鼠标拖动选中矩形块。)三、全选和清除: ◎全选:①[编辑]→[全选],②Ctrl+A ◎清除:①[编辑]→[清除],②Delete(或选中后“剪切”) 四、撤消和恢复: ◎[编辑]→[撤消]Ctrl+Z(注:可进行多步撤消) 五、剪切与复制 ◎Ctrl+C复制◎Ctrl+X剪切◎Ctrl+V粘贴 六、查找和替换: ◎[编辑]→[查找]Ctrl+F 编辑→查找→输入查找内容→点击“查找下一处”。 ◎[编辑]→[替换]Ctrl+H 编辑→替换→输入查找内容和替换内容→点击“替换”或全部替换。 七、光标定位: ◎[编辑]→[定位]Ctrl+G,编辑→定位→输入页号、行号等→点击“下一处” 八、Word2003文档的页眉和页脚 ◎[视图]→[页眉和页脚] (注:页眉和页脚常用于标注一些较固定的信息:如公司名称、地址、电话、页码、日期等)

SQL在Excel中的应用方法

iamlaosng文 Excel中使用SQL的主要目的是连接(或Excel工作表)导入数据或者对这些数据进行统计汇总,要达到这个目的,需要好好学习SQL语句的使用。本文主要说明在Excel中如何使用SQL,至于SQL语句本身就不多作介绍了。 一、简单的查询 1、建立查询 数据选项卡—现有连接—浏览更多或者按快捷键Alt+D+D+D 选择要查询的Excel文件和文件中的的工作表,就可以将相应工作表的数据取过来。表现形式可以是表,也可以是数据透视表等。 2、SQL查询语句 如果是挑选部分列数据,就需要用SQL语句(取所有数据也可以用SQL语句)。 建立查询时,选择工作表后不要点击“确定”按钮,而是先点击“属性”按钮,弹出窗口中选择“定义”选项卡,在命令文本框中输入SQL查询语句(原来的工作表名称,表示所有数据,可以认为是取所有数据的SQL的一种特殊写法): Select 字段列表 from [工作表名$] --其中字段列表就是需要选择的字段,数据源用工作表名称加“$“再用中括号括起来,例如: select prov_name, city_name, xs_mc, xs_code from [Sheet1$] select * from [Sheet1$]-- 取所有数据 偶然发现,字段名不能用no,估计是保留字,如需要,用中括号括起来,例如:select [no],prov_name,city_name, xs_mc, xs_code from [Sheet1$]

字段名中含有特殊字符的也要用中括号括起来,如/ 空格等 Excel查询没有伪表概念,对于表达式的计算直接用select既可,例如 Select 23+45 -- 返回68 Select date() -- 返回当前日期 3、修改查询语句 方法:点击右键—弹出菜单—表格—编辑查询 通过修改SQL语句可以变更所取的数据,也可以将建立查询时的简单SQL语句改成复杂的SQL语句。 字段名更换:如果想换个字段名,用“as 新字段名”既可,例如: select prov_name as 省, city_name as 城市, xs_mc as 县市, xs_code as 编码 from [Sheet1$] 非正常表格:数据区域(含字段名)不在第一行 需要在工作表名称后面指定数据范围,例如: select prov_name, city_name, xs_mc, xs_code from [Sheet1$B2:G2000] 或者,将数据块定义为一个名称,假设定义为mydata,SQL语句如下: select prov_name, city_name, xs_mc, xs_code from mydata 注意:使用名称时没有$符号,也没有方括号了。 数据更新:数据源发生变化,需要更新数据,方法:点击右键—弹出菜单—刷新 意外:如果打开Excel文件后弹出不是选择工作表的窗口而是一个“数据连接属性” 窗口,可以关闭这个窗口,然后将Excel应用极小化再极大化方式消除,或者在弹 出选择文件的窗口时,退回上一级文件夹,删除那个Queries文件夹,就行了。

相关文档
相关文档 最新文档