1开需要编辑的excel文件。如下图所示。一个excel工作簿当中有多个excel工作表。且每个excel工作表中都输入了一些简单的数据。假设需要查找数据0
2传统的办法是输入快捷键Ctrl+F。在打开的输入框中输入0,点击查找全部,显示结果如下图所示。显然,这不是需要的结果。
3其实,只要改变一个小小的参数,就可以实现精确查找了!方法如下:同样按Ctrl+Fd出查找窗口,点击窗口右侧的选项。如下图所示。
4下拉查找范围列表,在工作表和工作簿两个选项中果断选择工作簿。点击查找全部即可。
5此时查找框中出现了精确查找结果。点击具体内容即可找到其详细信息以便后续编辑。
这是第二次了,市场部那边又来要求改数据。他们要改的是数据库某张表中类似商品价格等的数据,需要改的地方又多,我们上次是靠新来的兄弟一个个给Update进去的,这次老大去教了他们Update语句,把烦人的皮球踢给他们了。但这样一个个更新很明显不是办法,我想通过excel直接把数据导入数据库应该是可行的吧,就开始找方法了。
我想至少有这样两种比较容易实现的方法:
1、直接用Sql语句查询
2、先用excle中的数据生成xml文件,再把xml导入数据库
第一种方法(方法二以后再试),找到联机丛书里实现此功能的Sql语句如下:
SELECT FROMOpenDataSource('MicrosoftJetOLEDB40', 'DataSource="c:Financeaccountxls";UserID=Admin;Password=;Extendedproperties=Excel50')…xactions
语句是有了,但我还是试了很久,因为各个参数具体该怎么设置它没有说。Data Source就是excel文件的路径,这个简单;UserId、Password和Extended properties这三个属性我改成了各种各样的与本机有关的用户名、密码以及excel版本都不对,最后用上面例子里的值“User ID=Admin;Password=;Extended properties=Excel 50”才成功了,晕啊;最后个“xactions”更是查了很多资料,其实就仅仅是excel文件里所选的工作表名而已,怪我对excel不够熟悉了,另外注意默认的Sheet1要写成[Sheet1$]
最后,看看我成功的测试
数据库里建好一个表testTable_1,有5个字段id, name, date, money, content,C盘下book1xls文件的sheet1工作表里写好对应的数据并设好数据类型,执行如下插入语句:
insertintotestTable_1([name],[date],[money],[content]) Select[姓名],[日期],[金额],[内容] FROMOpenDataSource('MicrosoftJetOLEDB40', 'DataSource="C:Book1xls"; UserID=Admin;Password=;Extendedproperties=Excel50')…[Sheet1$]
select里的列名我一开始用代替,但发现输出顺序与我预期的不同,是“金额、内容、日期、姓名”,不知道具体有什么规律,就老老实实写名字了。 *** 作成功
回过头来看看市场部的要求,假设在我这张表里实现,可以先判断如excel里存在与记录相同的name字段(name要唯一非空)时就删除记录,之后再插入,这样简单,但自增的id字段会因为插入而改变,那是不行的了。可行的方法是先读出excel里全部记录,然后用游标一条条分析,如果存在这个name就更新否则就插入。OK,下次就不用让他们再对着文档一条条Update了
在Sheet1的E2单元格输入以下数组公式,按Ctrl+Shift+Enter组合键结束,然后向右向下填充公式
=INDEX(Sheet2!D:D,MATCH($B2&$D2,Sheet2!$B:$B&Sheet2!$A:$A,0))
1打开SQL Server Management Studio,按图中的路径进入导入数据界面。
2导入的时候需要将EXCEL的文件准备好,不能打开。点击下一步。
3数据源:选择“Microsoft Excel”除了EXCEL类型的数据,SQL还支持很多其它数据源类型。
4选择需要导入的EXCEL文件。点击浏览,找到导入的文件确定。
5再次确认文件路径没有问题,点击下一步。
6默认为是使用的WINODWS身份验证,改为使用SQL身份验证。输入数据库密码,注意:数据库,这里看看是不是导入的数据库。也可以在这里临时改变,选择其它数据库。
7选择导入数据EXCEL表内容范围,若有几个SHEET表,或一个SHEET表中有些数据不想导入,则可以编写查询指定的数据进行导入。点击下一步。
8选择需要导入的SHEET表,比如我在这里将SHEET表名改为price,则导入后生面的SQL数据库表为price$。点击进入下一步。
9点击进入下一步。
10在这里完整显示了导入的信息,执行内容,再次确认无误后,点击完成,开始执行。
11可以看到任务执行的过程和进度。
12执行成功:可以看看执行结果,已传输1754行,表示从EXCEL表中导入1754条数据,包括列名标题。这样就完成了,执行SQL查询语句:SELECT FROM price$就可以查看已导入的数据内容。
可以用Oracle数据库+PL/SQL Developer。
1、在数据库中,建立用户、建一个与EXCEL表格一样的表;
2、用PL/SQL登入用户,并编辑数据方式打开表;
3、打开EXCEL表格,复制所有的数据粘贴到PL/SQL表上;
4、存盘、提交就可以了。
以上步骤说起来简单做起来不是很容易的。
如果各个EXCEL 的格式是相同的,可以建好表的结构,然后导入
也可以分别另存为dbase3即dbf文件然后再统一添加到同一个表中,此方法需要注意各列的宽度应先拉到足够的宽再另存,而且如果是数字形式的代码,如准考证号,身份z等,应先在第一个行数值的前面加一个字符也可以是',再另存
以上就是关于excel表格问题,多表格的“查找”功能全部的内容,包括:excel表格问题,多表格的“查找”功能、把Excel工作表中数据导入数据库、excel多表查询等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)