sql查询excel数据
⑴ 如何用sql语句读出EXCEL是的数据,请大家帮帮忙谢谢了
电脑的环境变量要设置一下吧,在管理工具理有一个数据源,要追加一个Miscrosoft
Access
Driver(*.mdb)的驱动
再看看别人怎么说的。
⑵ 在SQL SERVER里查询Excel数据
SELECT * into newtable
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\temp1.xls";User ID=;Password=;Extended properties=Excel 5.0')...[结果$]
⑶ SQL查询excel数据 带下拉列表
Excel设置数据有效性实现单元格下拉菜单的3种方法
一、直接输入:
1.选择要设置的单元格,譬如A1单元格;
2.选择菜单栏的“数据”→“有效性”→出现“数据有效性”弹出窗口;
3.在“设置”选项中→“有效性条件”→“允许”中选择“序列”→右边的“忽略空值”和“提供下拉菜单”全部打勾→在“来源”下面输入数据,譬如“1,2,3,4,5,6,7,8,9”(不包括双引号,分割符号“,”必须为半角模式)→按“确定”就OK了,再次选择该A1单元格,就出现了下拉菜单。
二、引用同一工作表内的数据:
如果同一工作表的某列就是下拉菜单想要的数据,譬如引用工作表Sheet1的B2:B5,B2:B5分别有以下数据:1、2、3、4,操作如下:
1.选择要设置的单元格,譬如A1单元格;
2.选择菜单栏的“数据”→“有效性”→出现“数据有效性”弹出窗口;
3.在“设置”选项中→“有效性条件”→“允许”中选择“序列”→右边的“忽略空值”和“提供下拉菜单”全部打勾→在“来源”下面输入数据“=$B$2:$B$5”,也可以按右边带红色箭头的直接选择B2:B5区域→按“确定”就OK了,再次选择该A1单元格,就出现了下拉菜单。
三、引用不同工作表内的数据(必须用到定义名称):
如果不同工作表的某列就是下拉菜单想要的数据,譬如工作表Sheet1的A1单元格要引用工作表Sheet2的B2:B5区域,工作表Sheet2的B2:B5分别有以下数据:1、2、3、4,操作如下:
1.定义名称:菜单栏→“插入”→“名称”→“定义”→弹出“定义名称”窗口,在“在当前工作薄中的名称”下面输入“DW”(可以自己随便明明)→“引用位置”下面输入“=Sheet2!$B$2:$B$5”,也可以按右边带红色箭头的直接选择B2:B5区域→按“添加”后再按“确定”完成第一步。
2.选择菜单栏的“数据”→“有效性”→出现“数据有效性”弹出窗口;
3.在“设置”选项中→“有效性条件”→“允许”中选择“序列”→右边的“忽略空值”和“提供下拉菜单”全部打勾→在“来源”下面输入“=DW”,“DW”就是刚刚定义好的名称,按“确定”就OK了,再次选择该A1单元格,就出现了下拉菜单。
----------------------------------------------------------------------
1.
只要你在一列中连续的单元格内输入文字,
除了数字以外的内容都会显示在下拉列表中.
快捷键是Alt + 方向键下键.
在输入数据时,如果想输入上面已经输入过的数据,
直接从下拉列表中选择就可以了.
2.
在EXCEL单元格做下拉列表还有一个更好的方法,因为下拉列表的内容可能有30项甚至于100项以上,如在“数据-有效性-来源”中填写100项是很做不到的,我记得最多只可填写30项。方法是将要在下拉列表中选择的100项内容填在A1-A100,选择“插入-名称-定义”,定义名称可填下拉内容“一级”,定义的引用位置是A1-A100,确定后将一级下拉内容填入“数据-有效性-来源”中或者在“数据-有效性-来源”中填“=$A$1:$A$100”。
3.
我做的表比较复杂,要实现在一行中输入数据同时它相关的一些数据都要出来,而且要输入的数据量很大。
如:A1是一个下拉列表,我选中AA,同时一行的AA 的型号,价格都出现,而且是每行都是这样,可以实现吗?和复杂吗?
设:原数据表在sheet1表,A列为型号,B--H列为相关数据。
新表建在Sheet2表,表格式同SHeet1表。
选中Sheet1表的A列型号的区域(设为A2至A30),定义名称为 “型号”。
在Sheet2表的A2单元格,数据→有效性,“允许”选“序列”,“来源”中输入“=型号”(等于应在英文状态下输入),确定退出。
在B2单元格输入公式:
=IF($A2<>0,VLOOKUP($A2,Sheet1!$A$2:$H$30,COLUMN(),0),"")
再将B2单元格横向拉到H2单元格。
再将A2至H2单元格向下拉若干行。
A列选型号后,后面出现相关数据。
4. 自制Excel下拉菜单快速批量输入
因工作需要,常常要将企业的单位名称输入到Excel表格中,由于要求每次输入同一个企业的名称要完全一致,我就利用“数据有效性”制作了一个下拉列表来进行输入。
但由于有150多个单位名称,下拉列表太长,选择起来非常不方便,于是,我对其进行了改进,实现了“分类列表选择、快速统一输入”之目的。
使用实例界面:
1、建库
启动Excel2000(XP也可),切换到Shift2工作表(其他工作表也可)中,将建筑施工企业名称按其资质等级分别分别输入不同列的单元格中,建立一个企业名称数据库(如图1)。
[特别提示]如果有其他企业加入,可以随时将名称输入到该列下面的单元格中。
2、命名
在Shift2工作表中,选中A列(一级企业名称所在列),然后将光标定在“名称”栏内(位于“编辑栏”左侧,如图2),输入“一级”,并按“回车”键进行确认。
仿照上面的操作,将B、C、D列分别命名为“二级、三级、四级”。
3、建立
切换到Sheet1工作表中,选中需要输入企业资质等级的列(如C列),执行“数据→有效性”命令,打开“数据有效性”对话框(如图3)。进入“设置”标签,单击“允许”右侧的下拉按钮,选中“序列”选项,在下面接着出现的“来源”方框中,输入“一级,二级,三级,四级”序列,输入完成后,确定退出。
[特别提示]在输入“序列”时,序列中各元素之间请用英文状态下的逗号隔开。
再选中需要输入企业名称的列(如D列),再次打开“数据有效性”对话框,选中“序列”选项后,在“来源”方框中输入公式:=INDIRECT(C1),确定退出。
4、使用
选中C列任意单元格(如C4),在其右侧出现了个下拉按钮,单击此按钮,即可选择企业的资质等级级别填入相应的单元格中。然后选中该单元格对应的D列单元格(如图4),同样在其右侧出现了个下拉按钮,单击此按钮,即可从相应资质等级的企业名称列表中选择需要的企业名称填入该单元格中。
怎么样?这样输入企业名称(当然,此法不仅仅适用于输入企业名称哟),是不是既快速又统一?!
可以用查找函数VLOOKUP或索引函数INDEX实现。如果要用“点击上一个-下一个”的,可合并使用“数据有效性”。
你没有具体数据地址,我就给你一些公式参考吧:
1、在Sheet1的A列输入“甲方,乙方”,B列输入金额;
2、选Sheet1的A列数据区域(就只有A1、A2吧)——菜单栏——插入——名称——定义——在当前工作簿中的名称,随便输入一个名称,如:AAA;引用位置,输入:=Sheet1!$A:$A(或默认)——确定;
3、选Sheet2的A1——菜单栏——数据——有效性——设置——允许:选“序列”;来源,输入:=AAA——确定;
4、在Sheet2的B1输入
=IF(ISERROR(VLOOKUP(A1,Sheet1!A:B,2,0)),"",VLOOKUP(A1,Sheet1!A:B,2,0))回车。
⑷ EXCEL中的SQL语句查询并分类汇总
为什么不先查询出数据再使用分类汇总功能?
想一步到位,用数据透视可以做到。
用SQL联合查询也可以做到。
数据透视也是可以有明细的,你可以把序号当一个条件,它就既有明细又有汇总了。
可以啦,你可加3014560这个QQ群来讨论。
⑸ 如何用SQL语句查询Excel数据
如何用SQL语句查询Excel数据?
Q:如何用SQL语句查询Excel数据? A:下列语句可在SQL SERVER中查询Excel工作表中的数据。
2007和2010版本:
SELECT*FROMOpenDataSource( 'Microsoft.ACE.OLEDB.12.0', 'Data Source="c:\book1.xlsx";User ID=Admin;Password=;Extended properties=Excel 12.0')...[Sheet1$]
复制代码
SELECT*FROMOPENROWSET('Microsoft.ACE.OLEDB.12.0','Excel 12.0;Database=C:\book1.xlsx', 'SELECT * FROM [Sheet1$A1:D100]')
复制代码
SELECT*FROMOPENROWSET('Microsoft.ACE.OLEDB.12.0','Excel 12.0;Database=C:\book1.xlsx', 'SELECT * FROM [Sheet1$]')
复制代码
2003版本:
SELECT*FROMOpenDataSource( 'Microsoft.Jet.OLEDB.4.0', 'Data Source="c:\book1.xls";User ID=Admin;Password=;Extended properties=Excel 8.0')...[Sheet1$]
复制代码
SELECT*FROMOPENROWSET('Microsoft.Jet.OLEDB.4.0','Excel 8.0;Database=C:\book1.xls', 'SELECT * FROM [Sheet1$]')
SELECT*FROMOPENROWSET('Microsoft.Jet.OLEDB.4.0','Excel 8.0;Database=C:\book1.xls', 'SELECT * FROM [Sheet1$A1:D100]')
复制代码
而且,还需要用拥有服务器sysa
⑹ 如何在Excel中使用SQL语言实现数据查询
1、选中表格后单击右键选择“定义名称”。
2、单击后,出现命名对话框。
3、这里将表1和表2分别命名为Table1和Table2。
4、选择上方的“数据”选项卡,选择“自其他来源”下的“来自Microsoft Query ”选项。
5、在弹出的对话框中选择Excel Files*那一项,并且把对话框下面的“使用“查询向导”创建/编辑查询”勾掉。
6、点击“确定”,便出现“选择工作簿”的对话框,这里选择包含表1和表2的工作表xxx.xlsx。
7、点击确定后之后弹出添加表的对话框。
8、点击确定后之后弹出添加表的对话框。
9、输入SQL语句的按钮,弹出输入SQL语句的对话框 输入SQL,看到筛选出来的数据表。
10、将筛选出来的数据表再返回至Excel工作表当中,选择菜单中的“文件”——“将数据返回Microsoft Excel”。
⑺ 如何通过SELECT语句查询出来后,用SQL语句把数据写入到指定的EXCEL中
给个示例
Sub去重()
Dimcnn,SQL$
Setcnn=CreateObject("adodb.connection")
cnn.Open"Provider=Microsoft.jet.OLEDB.4.0;ExtendedProperties=Excel8.0;DataSource="&ThisWorkbook.FullName
SQL="SELECTDISTINCT[aac001],[aac003],部门代码,但未编号,基数,个人,单位,金额FROM[明细$A3:H65536]"
Range("A2:I65536").ClearContents
Range("A2").CopyFromRecordsetcnn.Execute(SQL)
cnn.Close
Setcnn=Nothing
EndSub
你可以参考一下。
⑻ Excel表中连接sql并使用sql语句引用excel单元格数据作为查询条件
1、将需要处理的记录复制到一个新的工作表,然后将在数据库表中存在唯一值的列(比如物料编码)后插入一列,用 CONCATENATE函数将其前后加上“'”。
⑼ SQL中如何通过EXCEL或TXT中的一列数据查询SQL中的其他数据
我觉得你可以建一个临时表,把EXCEL中的数据填充到临时表,在数据库中直接用left join 关联
如果EXCEL中的数据不多,直接把EXCEL中的字段用,拼接一下,sql 用in 查找
⑽ 如何在Excel中使用SQL语言实现数据查询
1.选中表格后单击右键选择“定义名称”
2.单击后,出现命名对话框
3.这里将表1和表2分别命名为Table1和Table2。
4.选择上方的“数据”选项卡,选择“自其他来源”下的“来自Microsoft Query ”选项
5.在弹出的对话框中选择Excel Files*那一项,并且把对话框下面的“使用“查询向导”创建/编辑查询”勾掉,
6.点击“确定”,便出现“选择工作簿”的对话框,这里选择包含表1和表2的工作表xxx.xlsx
7.点击确定后之后弹出添加表的对话框
8.点击确定后之后弹出添加表的对话框
9.输入SQL语句的按钮,弹出输入SQL语句的对话框 输入SQL,看到筛选出来的数据表
10.将筛选出来的数据表再返回至Excel工作表当中,选择菜单中的“文件”——“将数据返回Microsoft Excel”,纯手打,望采纳答案哦,谢谢