依据excel表中更新数据库
不知道是什么数据库.
假设是 ACCESS, 这样最简单。
Access 里面, 创建一个 表, 链接个 Excle 文件。
这个链接表的名字,就命名为 A
再假设你那个数据库里面的表,是B.
那么.
UPDATE A INNER JOIN B ON A.C = B.C SET B.D = A.D, B.E = A.E
是把 Excel 的,更新到数据库
UPDATE A INNER JOIN B ON A.C = B.C SET A.D = B.D, A.E = B.E
是把 数据库 的,更新到Excel
其他数据库的话,就看是否支持创建个Excel数据库链接的功能。
-----
如果是 SQL Server 的话,我这里没有 SQL 2000, 只有个 SQL 2008
下面的代码,我这里报错,不知道 SQL 2000 那里行不行
直接在 SQL Server 里面执行
SELECT *
FROM OpenDataSource(
'Microsoft.Jet.OLEDB.4.0',
'Data Source="d:\A.EXCEL";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$]
或者
SELECT *
FROM OpenDataSource(
'Microsoft.Jet.OLEDB.4.0',
'Excel 8.0;DATABASE=d:\A.EXCEL)...[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
【sql server】如何使用追加或更新的方法将excel表格导入sql server数据库
如果是经常性的需要这样操作,可以采用一下方法:
一是写一个自动化导入的程序,这样就不必每次纠结怎么导入,即使换人了,俺方法操作就好
二是直接导入,可以建立分表,然后在使用时再进行处理
祝好运,望采纳
如何通过excel更新数据库中对应数据更新
在Excel工中,内更新后,引用此工作表内容的工作表在打开会即时更新的。看不到更新,可能是“自动重算”功能没有打开所致。
选择“公式”选项卡,点击“计算选项”,选择“自动”即可。如果选择了“手动”,则需要在新工作表中点“F9”更新。
如何将Excel表格中的数据导入到sql数据库里已经存在的表里,注意是已经建好的?
insert into tablename
SELECT *
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\temp1.xls";User ID=;Password=;Extended properties=Excel 5.0')...[Sheet1$]
注意如边数据类型不一致需要用cast或convert数据类型。
这查询分析器中执行的直接导入本
sql2000直接执行即可,sql2005以上的需把外围配置打开(sql菜单里就有)
insert into tablename --这里输入你要导入的表
SELECT * --这里可以设置需要的execl中的字段
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',--这个是打开数据源,不用改
'Data Source="c:\temp1.xls";--这里设置你的execl存放的路径和文件名
User ID=;Password=;Extended properties=Excel 5.0')--这里也不用改,标准格式
...[Sheet1$]--这里设置execl的工作表名,一般没改过的话execl中的工作表默认三个
--Sheet1,Sheet2,Sheet3,注意别把$忘写了。
SQL如何获取Excel中的一列来更新数据库里的一列
update a set a.字=b.列名 from 表名 a, OpenDataSource( 'Microsoft.Jet.OLEDB.4.0', 'Data Source="c:\excel.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[sheet1$] b where a.标段=b.标识字段
如何将实时更新的excel表格导入sql数据库?并且sql数据库也随着excel表格实时更新?
这个貌似比较麻烦。
SQL2014可能有这样的功能。
我所知道的方法就是配置个ETL(SSIS)的包,定时的执行,这样有点延时。