
关键字:Microsoft Excel,数据库,导入,表,Microsoft uery。
一、Microsoft Excel 2003简介
Microsoft Excel 2003是Microsoft Office 2003中的一个组件,它是一个高效、实用的电子表格软件,具有强大的数据处理与数据分析能力,为广大用户进行数据处理提供了一个很好的工具,也为广大的用户所熟悉。如何在Excel中利用其它数据库中的数据呢?
二、导入其它数据库表中的数据到Excel中
在Microsoft Excel中导入其它数据库表中的数据的方法非常简单。具体 *** 作步骤如下:
第一步,启动Microsoft Excel,新建或者打开需要数据的工作簿,选中相应的工作表,并选中新导入的数据存放的起始单元格;
第二步,执行“数据”→“导入外部数据”子菜单下的“导入数据”命令,在对话框中选择要导入的数据所在的文件的类型,并通过对话框中的“查找范围”后面的下拉箭头找到要导入的数据文件所在的位置。
第三步,选中要导入的文件,单击图1所示对话框中的“打开”按钮。至此,选中的数据表中的数据就导入到了当前工作簿的当前工作表中了,当然也可以将导入的数据放在新的工作表中。
举例:在Excel工作簿“导入.XLS”中的sheet1工作表导入一个VFP(Visual FoxrPro,下同 )中的表(学生.dbf)中的数据。导入的具体 *** 作步骤如下:
首先打开工作簿“导入.XLS”,选中sheet1工作表,如图2所示;执行“数据”→“导入外部数据”子菜单下的“导入数据”命令,在对话框中选择要导入的数据的文件的类型,并通过对话框中的“查找范围”后面的下拉箭头找到要导入的数据文件所在的位置;选中要导入数据的.dbf文件(此例的选择见图3),单击“打开”按钮。这样,就在Excel工作簿“导入.XLS”中的sheet1工作表中导入了VFP中建立的数据库表文件“学生.dbf”中的数据。结果如图4所示。
以上是在Excel工作表中导入VFP数据表中的数据的 *** 作方法。如果要在Excel工作表中导入其它数据库表中的数据, *** 作方法基本相似。说明以下几点:
以下内容关于《怎样用excel筛选一定范围内的数据??
》的解答。
1.用excel筛选一定范围内的数据具体如下:打开需要筛选的表格excel文件,使用鼠标点击单元格定位到含有数据的随意一单元格区域,点击菜单栏-数据-筛选-自动筛选。
2.选择自动筛选后数据栏目出现下拉箭头,点击下拉箭头出现筛选菜单。
3.每一个下拉菜单对应一个筛选分类。
4.点击数字筛选可以为含有大量数据的表格文件进行特定的数据筛选或某个数值区间的数据筛选。
5.比如我们需要筛选出历史成绩小于85分的项目,点击数字筛选,选择小于,输入85即可进行筛选。
6.如果要筛选出多个分类的成绩如四门成绩大于80分的同学,我们需要预先建立条件区域,将数据整体上方空出三行或以上,分别对应输入数据分类和需要的条件限制。
7.点击菜单栏-数据-筛选-高级筛选,以此打开高级筛选的菜单。
8.打开高级筛选后可输入单元格范围或使用鼠标勾选需要的区域,分别勾选列表区域和条件区域。
9.如果需要让筛选的数据单独在其他地方显示,勾选将筛选结果复制到其他位置,并且手动点击需要作为存储的单元格即可,点击确定即可获取筛选结果。
1、直接用Sql语句查询2、先用excle中的数据生成xml文件,再把xml导入数据库
第一种方法(方法二以后再试),找到联机丛书里实现此功能的Sql语句如下:
SELECT*
FROMOpenDataSource('Microsoft.Jet.OLEDB.4.0',
'DataSource="c:Financeaccount.xls"UserID=AdminPassword=Extendedproperties=Excel5.0')...xactions
语句是有了,但我还是试了很久,因为各个参数具体该怎么设置它没有说。Data
Source就是excel文件的路径,这个简单UserId、Password和Extended
properties这三个属性我改成了各种各样的与本机有关的用户名、密码以及excel版本都不对,最后用上面例子里的值“User
ID=AdminPassword=Extended
properties=Excel
5.0”才成功了,晕啊最后个“xactions”更是查了很多资料,其实就仅仅是excel文件里所选的工作表名而已,怪我对excel不够熟悉了,另外注意默认的Sheet1要写成[Sheet1$]
最后,看看我成功的测试
数据库里建好一个表testTable_1,有5个字段id,
name,
date,
money,
content,C盘下book1.xls文件的sheet1工作表里写好对应的数据并设好数据类型,执行如下插入语句:
insertintotestTable_1([name],[date],[money],[content])
Select[姓名],[日期],[金额],[内容]
FROMOpenDataSource('Microsoft.Jet.OLEDB.4.0',
'DataSource="C:Book1.xls"
UserID=AdminPassword=Extendedproperties=Excel5.0')...[Sheet1$]
select里的列名我一开始用*代替,但发现输出顺序与我预期的不同,是“金额、内容、日期、姓名”,不知道具体有什么规律,就老老实实写名字了。 *** 作成功
回过头来看看市场部的要求,假设在我这张表里实现,可以先判断如excel里存在与记录相同的name字段(name要唯一非空)时就删除记录,之后再插入,这样简单,但自增的id字段会因为插入而改变,那是不行的了。可行的方法是先读出excel里全部记录,然后用游标一条条分析,如果存在这个name就更新否则就插入。OK,下次就不用让他们再对着文档一条条Update了
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)