Excel处理SQL数据库教程

Excel处理SQL数据库教程
Excel处理SQL数据库教程

Excel处理SQL数据库教程

我们可以用Excel来处理SQl数据库,这样可以加快开发步伐。Excel 有很强的显示效果,打印控制也比较简单,是计算机上必备的软件。我们通过下面的步骤,一步步的学习如何通过Excel来控制和开发简单的程序。作为一个入门的教程,力求从最简单的步骤开始。学习本教程要求已经具备了比较初步的vba编程经验。

步骤一:打开Excel后,进入microsoft visual basic 编辑器(ALT+F11)步骤二:引用ADO。方法是在vb编辑器中点击菜单栏中的“工具”菜单——“引用”,

找到这项,勾选上。

我们对于数据库的操作基本最基本的操作就是“增加”,“删除”,“查询”等操作。以下我们通过实例来说明。

1、如何向数据库增加记录

以下代码中红色底纹部分文字是你需要修改的,比如这里的jszxfwq 就是sql服务器名,database就是要进行处理的数据库名,本例是hszx;uid是登陆的用户名,这里是sa,pwd是登陆的密码,这里是空。例子引用的表a只有两个字段,分别是a(文本类型),b(整数类型)

Sub 增加记录()

'首先是建立连接

Dim cn As New ADODB.Connection

Dim strCn As String, sqlins As String ‘

Dim rs As New ADODB.Recordset

strCn = "Provider=sqloledb;Server=jszxfwq;Database=hszx;Uid=sa;Pwd=;"

cn.Open strCn

‘通过以上步骤就建立了一个连接,有了这个连接,表示你机器上的excel就连接上了sql所在的服务器,可以对hszx数据库进行操作了。

sqlins=”insert into a(a,b) values(‘hoo’,2)”

cn.Execute sqlins

set cn=Nothing

End Sub

运算结果如下

进一步的,如果我们使用循环,就可以将电子表格中的数据导入到SQl数据库中。由于Excel对数据的要求不是非常的严格,因此,在输入数据的时候就应当采取相应的措施才保证在导入SQL数据库的时候不至于出错。

2、如何删除数据库中已有的记录

下面就将刚才已经添加的记录进行删除,方法如下:

Sub 删除记录()

'首先是建立连接

Dim cn As New ADODB.Connection

Dim strCn As String, sqldel As String ‘

Dim rs As New ADODB.Recordset

strCn = "Provider=sqloledb;Server=jszxfwq;Database=hszx;Uid=sa;Pwd=;"

cn.Open strCn

‘通过以上步骤就建立了一个连接,有了这个连接,表示你机器上的excel就连接上了sql所在的服务器,可以对hszx数据库进行操作了。

Sqldel=”delete from a where id=1”

cn.Execute sqldel

set cn=Nothing

End Sub

删除前数据库内容

删除后数据库内容

3、如何查询数据库中的记录

查询数据库中以有的记录有两种方式,一种是通过excel的导入外部数据的功能,不需要编程就可以直接读取到数据库中的数据。一个就是直接通过读取数据集的

方式进行。下面进行逐一介绍。

1)导入外部数据:

步骤如下:点击菜单栏中的“数据”菜单,选中其中的“导入外部数据”——新建数据库查询

然后出现了以下的对话框

选择“新数据源”,然后点击确定。这里实质上就是在定义一个和sql数据库连接的过程。出现如下的对话框。

在该对话框中:请输入数据源名称是你自己输入的表示是对这个连接的一个描述。数据库类型的驱动程序选择SQL Server。然后点击“连接”按钮出现以下对话框

这里和我们刚才的这个代码进行比较

;Database=hszx;Uid=

这里可以看到和代码相比我们只有数据库hszx没有设置,没有关系,我们点击

“选项”按钮,可以看到如下对话框

以上设置妥当以后,点击确定返回到了原来的对话框,好像有点点不一样啊

然后再点击确定按钮。回到最初的对话框,继续确定,打开Microsoft Query 。这个东东好像和Access 有点点像啊。

把那个*号拖到下面来就出现了上图。然后按照以下方法点击

将数据返回excel

点击确定

这样就读取了数据中表格的内容。待续。。。

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

如何成功把EXCEL表的数据导入到SQL数据库,代码如何编写 唯一下载软件下载,软件,下载,共享,共享软件,免费,免费软件,汉化,汉化补丁,游戏,游戏下载,软件教程,软件新闻,软件资讯,操作系统,邮件. 如何成功把EXCEL表的数据导入到SQL数据库,代码如何编 写· https://www.360docs.net/doc/d415921324.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--*/导出查询中的数据...

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导入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表轻松建立人事数据库

轻松运用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天自动提醒我们的功能呢?这需要对一些信息项进行函数设置。如图(二)所示:

利用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.360docs.net/doc/d415921324.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',

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);

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文件夹,就行了。

SQL Server表与Excel互导

SQL Server表与Excel、Access数据互导 最近看到很多朋友在论坛上问SQL Server表与Excel、Access数据互导的问题,问题很简单,也很早就有人专门写文章讨论过这个问题,但看了那些文章,也没几个人讲得很明白,都是些很笼统的格式,估计初学者会被那些答案弄得稀里糊涂,更别说能学到新的东西。 基于这个原因,下面我将详细的讲解互导的过程,当然,常规的在SQL Server 管理器中得用向导互导的过程我就不多讲了,下面讲的都是直接用T-SQL语句来实现的。 1、SQL Server导出为Excel: 要用T-SQL语句直接导出至Excel工作薄,就不得不用借用SQL Server管理器的一个扩展存储过程:xp_cmdshell,此过程的作用为“以操作系统命令行解释器的方式执行给定的命令字符串,并以文本行方式返回任何输出。”下面为定义示例: EXEC master..xp_cmdshell 'bcp 库名.dbo.表名out c:\Book3.xls -c -q -S"s ervername" -U"sa" -P""' --参数:S 是SQL服务器名;U是用户名;P是密码,没有就空着 --说明:其实用这个过程导出的格式实质上就是文本格式的,不信的话在导出的Exc el表中改动一下再保存看看。 实际例子与说明如下: /*如果要将表整个导出至Excel的话*/ EXEC master..xp_cmdshell 'bcp northwind.dbo.orders out c:\Book1.xls -c -q -S"(local)" -U"sa" -P""' --注意句中的northwind.dbo.orders,为数据库名+拥有者+表名 --直接导出用“out”关健字

SQL操作EXCEL

SQL操作EXCEL 直接操作excel(查询Excel导入SQL) 1)SELECT*INTO dbo.Table_1FROM OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0', 'Data Source=C:\test\xltest.xls;Extended Properties=Excel 8.0')...[Customers$] 2)SELECT*INTO dbo.Table_1FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'Excel8.0;Database=C:\test\xltest.xls',[Customers$]) 3)SELECT*INTO dbo.Table_1FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'Excel8.0;Database=C:\test\xltest.xls','SELECT*FROM [Customers$]') 例: --表存在 insert into dbo.Table_1(num) select*from OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel5.0;HDR=yes; DataBase=E:\1.xls',sheet1$) --表不存在 select*into dbo.Table_1from OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 5.0;HDR=yes;DataBase=E:\1.xls',sheet1$) 问题: SQL Server阻止了对组件'Ad Hoc Distributed Queries'的STATEMENT'OpenRows et/OpenDatasource'的访问 --使用前开启Ad Hoc Distributed Queries: exec sp_configure'show advanced options',1 reconfigure RECONFIGURE; GO exec sp_configure'Ad Hoc Distributed Queries',1 reconfigure

SQL在Excel中的应用方法

S Q L在E x c e l中的应用方法 (总17页) -CAL-FENGHAI.-(YICAI)-Company One1 -CAL-本页仅作为文档封面,使用请直接删除

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文件夹,就行了。

怎样用SQL Server 2008 SQL语句将Excel数据导入到数据库里指定的表里面

怎样用SQL Server 2008 SQL语句将Excel数据导入到数据库里指定的表里面2011-12-29 20:58:17 分类:数据库开发技术 怎样用SQL Server 2008 SQL语句将Excel数据导入到数据库里指定的表里面?在查询分析器里,直接写 SQL语句: 如果是导入数据到现有表,则采用形式 INSERT INTO 表 SELECT * FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0' ,'Excel 5.0;HDR=YES;DATABASE=c:\test.xls',sheet1$) 如果是导入数据并新增表,则采用形式 SELECT * INTO 表 FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0' ,'Excel 5.0;HDR=YES;DATABASE=c:\test.xls',sheet1$) 以上语句是将 EXCEL文件里 SHEET1工作表中所有的列都读进来。 如果只想导部分列,可以 INSERT INTO 表 (a1,a2,a3) SELECT a1,a2,a3 FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0' ,'Excel 5.0;HDR=YES;DATABASE=c:\test.xls',sheet1$) 其实可以将 OPENROWSET('MICROSOFT.JET.OLEDB.4.0' ,'Excel 5.0;HDR=YES;DATABASE=c:\test.xls',sheet1$) 当成一个表,例如我就写过这样一个句子: INSERT INTO eval_channel_employee(channel,employee_id) SELECT CASE a.渠道 WHEN 'DIY' THEN 1 WHEN 'RDC' THEN 0 WHEN 'KCM' THEN 2 ELSE 3 END ,b.id FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0' ,'Excel 5.0;HDR=YES;DATABASE=c:\temp\name.xls',sheet1$) AS a,pers_employee b WHERE a.员工编码 =b.code 简单的方法: SQL2005中直接可以实现导入功能 SQL2008不知道可不可以。操作过程如下:第一步:登录到 SQL Server Management Studio

Excel数据库创建和调用

Excel数据库 一,Excel数据库创建方法 1,首先新建一个Excel表格(如图1)。 (图1) 2,在新建Microsoft Excel 工作表中输入要编辑的内容。(如图2) (图2) 注:表格中的照片一列的内容是照片存储位置的文件名;创建数据库时,所要调用的照片必需放在同一个文件夹中,且图片的后缀要统一为JPG、BMP、PCX或TIF中的一个。最好将照片尺寸也统一。

3, 选中所编辑的内容,在名称框中输入数据库的名称并按回车键。(如图3) (图3) 注:在此把新建的数据库命名为“上海通睿商贸有限公司”。 4, 保存新建的新建 Microsoft Excel 工作表,数据库创建完成。 5, 如果是office2003或者以上版本: 名称框

输入数据库的名称,然 后点击“添加” 注意引用位置要把数据全部选中

二,编辑卡片,调用数据库数据 1,首先打开Card Five软件(如图4),中间为我们要编辑的卡面,编辑超过卡面的内容将不能打印出来。 (图4) 2,找到数据库连接…选项、或者工具条中的图标(如图5)。 添加数据库 (图5)

3,单击连接…选项,或者单击图标打开选择ODBC数据来源(添加数据文件)对话框。 (如图6) (图6) 4,选择Excel Files选项,单击下一步会弹出选择工作薄对话框。(如图7) (图7) 5,找到所要调用的新建Microsoft Excel 工作表.xls,单击确定后被调用的数据库“上海通睿商贸有限公司”会显示在列表中。(如图8)

(图8) 6,选择“上海通睿商贸有限公司”,单击完成后新建的Microsoft Excel 工作表的内容就会在Card Five软件右边的窗口显示出来。(如图9) (图9) 注:①查找记录在数据在它的字段; ②添加新的记录到数据库; ③删除记录从数据库; ④回到最前数据位置; ⑤回到最末数据位置; ⑥下一数据; ⑦前一数据; ⑧窗口右边灰色的数据可以直接拖动到窗口使用,而黑色的字符不能拖动,必需由Card Five软件自身编辑。 7,编辑卡片。(如图10)

SQL_Server数据与Excel表的导入导出

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)单击“下一步”按钮,打开选择数据源对话框,如下图所示:

通过SQL语句直接实现Excel与数据库的导入导出

通过SQL语句直接实现Excel与数据库的导入导出 导入/导出Excel 1.--从Excel文件中,导入数据到SQL数据库中,很简单,直接用下面的语句: /*===================================================================*/ --如果接受数据导入的表已经存在 insert into 表select * from OPENROWSET('MICROSOFT.JET.OLEDB.4.0' ,'Excel 5.0;HDR=YES;DATABASE=c: est.xls',sheet1$) --如果导入数据并生成表 select * into 表from OPENROWSET('MICROSOFT.JET.OLEDB.4.0' ,'Excel 5.0;HDR=YES;DATABASE=c: est.xls',sheet1$) /*===================================================================*/ 2.--从SQL数据库中,导出数据到Excel: --如果从SQL数据库中,导出数据到Excel,如果Excel文件已经存在,而且已经按照要接收的数据创建好表头,就可以简单的用: insert into OPENROWSET('MICROSOFT.JET.OLEDB.4.0' ,'Excel 5.0;HDR=YES;DATABASE=c: est.xls',sheet1$) select * from 表 --如果Excel文件不存在,也可以用BCP来导成类Excel的文件,注意大小写: --导出表的情况 EXEC master..xp_cmdshell 'bcp 数据库名.dbo.表名out "c: est.xls" /c -/S"服务器名" /U"用户名" -P"密码"' --导出查询的情况 EXEC master..xp_cmdshell 'bcp "SELECT au_fname, au_lname FROM pubs..authors ORDER BY au_lname" queryout "c: est.xls" /c -/S"服务器名" /U"用户名" -P"密码"' /*--说明: c:\test.xls 为导入/导出的Excel文件名. sheet1$ 为Excel文件的工作表名,一般要加上$才能正常使用. --*/ 3.--建立存储过程,导出真正的Excel文件(用此方法导出的Excel文件在用于导入时不会报错) --下面是导出真正Excel文件的方法:(请将一下所有代码复制到存储过程中) if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[p_exporttb]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)

相关文档
最新文档