如果使用VLOOKUP的话,只需要一个关联的数据,比如说是姓名,通过姓名来匹配得出对应的年龄、工作经历、账号和密码,假如两表格式一致,姓名均在A列,B\C\D\E列输入如下公式=VLOOKUP($A2,表1!$A:$E,COLUMN(),0)将公式复制黏贴到你需要更新的单元格即可!
如果姓名出现重复那么只能匹配到一个数据,友情提醒!!!
我试过有一种情况:输入的数据超过了本来选定的区域,比如原来选定的区域是$A$3:$C$100,你现在把数据输入来$A$101:$C$101,就是超过第100行了,所以刷新不了!
解决:把选定的区域重新选过(数据-数据透视表-上一步-重选区域-OK)。以后新增数据时,在100行(以上例)以内插入行后再录入新数据。
不知道是什么数据库
我先假设是 ACCESS, 这样最简单。
Access 里面, 创建一个 链接表, 链接到这个 Excle 文件。
这个链接表的名字,就命名为 A
再假设你那个数据库里面的表,是B
那么
UPDATE A INNER JOIN B ON AC = BC SET BD = AD, BE = AE
是把 Excel 的,更新到数据库
UPDATE A INNER JOIN B ON AC = BC SET AD = BD, AE = BE
是把 数据库 的,更新到Excel
其他数据库的话,就看是否支持创建个Excel数据库链接的功能。
-----
如果是 SQL Server 的话,我这里没有 SQL 2000, 只有个 SQL 2008
下面的代码,我这里报错,不知道 SQL 2000 那里行不行
直接在 SQL Server 里面执行
SELECT
FROM OpenDataSource(
'MicrosoftJetOLEDB40',
'Data Source="d:\AEXCEL";User ID=Admin;Password=;Extended properties=Excel 50')[Sheet1$]
或者
SELECT
FROM OpenDataSource(
'MicrosoftJetOLEDB40',
'Excel 80;DATABASE=d:\AEXCEL)[Sheet1$]
注意, 把你那个 Excel 表格, 有数据的那个 Sheet 名字, 替换掉上面的 Sheet1
看看能否检索么?
能检索出来的话, 更新起来就只是 SQL 语句的问题了。
我不知道 SQL 2000 会不会报下面的错误:
SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT 'OpenRowset/OpenDatasource' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configure 启用 'Ad Hoc Distributed Queries'。有关启用 'Ad HocDistributed Queries' 的详细信息,请参阅 SQL Server 联机丛书中的 "外围应用配置器"
如果报了,那么使用
-- 启用Ad Hoc Distributed Queries:
exec sp_configure 'show advanced options',1
reconfigure
exec sp_configure 'Ad Hoc Distributed Queries',1
reconfigure
-- 为了安全使用完成后,关闭Ad Hoc Distributed Queries:
exec sp_configure 'Ad Hoc Distributed Queries',0
reconfigure
exec sp_configure 'show advanced options',0
reconfigure
以上就是关于如何用excel导入的方式更新数据库中的某几列数据 紧急。。。。全部的内容,包括:如何用excel导入的方式更新数据库中的某几列数据 紧急。。。。、Excel 关于数据库更新,求助好的解决办法、依据excel表中更新数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)