怎么使用EXCEL建立数据库
发布时间:2025-05-23 13:16:32 发布人:远客网络
一、怎么使用EXCEL建立数据库
巧用Excel建立数据库大法!\x0d\x0a\x0d\x0a日常工作中,我们常常需要建立一些有规律的数据库。例如我为了管理全乡的农业税,需建立一数据库,该数据库第一个字段名为村名,第二个字段名为组别。我乡共19个村,每个村7~17个组不等,共计258个组。这个数据库用数据库软件(哪怕是Visual FoxPro 6.0或是Access97等高档次的)很不好建立——逐个儿输入吗,只有傻瓜才有这种想法。用Access宏或FoxPro编程来输入吧,这些数据似乎还嫌不够规则(每个村对应的组数不一定相同),这个程序编写可就不那么简单了,除非你是编程高手兼编程迷,否则可有小题大作之嫌了。 \x0d\x0a\x0d\x0a其实Excel提供了一些很有用的功能,可让我们任何一个人都可轻松搞定这些数据库: \x0d\x0a\x0d\x0a第一步:打开Excel97(Excel2000当然也行),在A列单元格第1行填上“村名”,第2行填上“东山村”,第19行填上“年背岭村”(注:东山17个组,2+17=19据此推算),第28行填上“横坡村”(算法同前,牛背岭村9个组:19+9=28),如此类推把19个村名填好。 \x0d\x0a\x0d\x0a第二步:在第B列第1行填上“组别”,第2行填上“第1组”并在此按鼠标右键选择“复制”把这三个字复制剪贴板,然后在每一个填有村名的那一行的B列点一下鼠标右键选择“粘贴”在那里填上一个“第1组”。 \x0d\x0a\x0d\x0a第三步;用鼠标点击选中A2“东山村”单元格,然后把鼠标单元格右下角(此时鼠标变为单“十”字形),按住鼠标往下拖动,拖过的地方会被自动填上“东山村”字样。用同样的方法可以把其它村名和组别用鼠标“一拖了之”。填组别时你别担心Excel会把组别全部填为“第1组”,只要你别把“第1组”写成“第一组”,Excel会自动把它识别为序列进行处理。所以拖动“第1组”时,填写的结果为“第2组”“第3组”??填完这两个字段后,其它的数据可以继续在Excel中填写,也可等以后在数据库软件中填写,反正劳动强度差不多。 \x0d\x0a\x0d\x0a第四步:保存文件。如果你需要建立的是Access数据库,那么别管它,就用Excel默认的“.xls”格式保存下来。如果你需要建立的是FoxPro数据库,那么请以Dbase 4(.dbf)格式保存文件。 \x0d\x0a\x0d\x0a第五步:如果需要的是Access数据库,那么你还必需新建一个Access数据库,在“新建表”的对话框里,你选择“导入表”然后在导入对话框中选择你刚刚存盘的“.xls”文件。(什么?你找不到?!这个对话框默认的文件类型是Microsoft Access,只要你改为Microsoft Excel就能找到了),选择好导入文件后,你只要注意把一个“第一行包含列标题”的复选框芯托辛耍ㄈ绻悴恍枰_D字段,你可以在Access向你推荐主关键字时拒绝——选择“不要主关键字”),其余的你都可视而不见,只管按“下一步”直至完成。导入完成后你可以打数据库进行使用或修改。如果你需要的是FoxPro数据库,那么更简单,可以直接用FoxPro打开上一步你存盘的“.dbf”文件,根据需要进行一些诸如字段宽度、字段数据类型设置就可以使用了。 \x0d\x0a\x0d\x0a说到这里,你可能会说“呀,太简单了,我也会”,那么好了,我写这篇文章的目的就是要大家尽可能不再做那些很麻烦的事,“该偷懒时就偷懒”嘛。
二、xls与csv文件是什么区别
x1s文件就是Microsoftexcel电子表格的文件格式。
csv是最通用的一种文件格式,它可以非常容易地被导入各种PC表格及数据库中。此文件,一行即为数据表的一行。生成数据表字段用半角逗号隔开。
csv是文本文件,用记事本就能打开,xLs是二进制的文件只有用EXCEL才能打开。
csv(*.csv)文件格式只能保存活动工作表中的单元格所显示的文本和数值。工作表中所有的数据行和字符都将保存。
2、可含或不含列名,含列名则居文件第一行。
4、以半角逗号(即,)作分隔符,列为空也要表达其存在。
5、列内容如存在半角引号(即"),替换成半角双引号("")转义,即用半角引号(即"")将该字段值包含起来。
6、文件读写时引号,逗号操作规则互逆。
7、内码格式不限,可为 ASCII、Unicode或者其他。
三、Excel表格里的数据导入SQLSERVER数据库
在查询分析器里,操作数据库对象选择Lee直接写 SQL语句:
如果是导入数据到现有表,则采用
INSERT INTO表 SELECT* FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'Excel 5.0;HDR=YES;DATABASE=c:test.xls',sheet1$)
如果是导入数据并新增表,则采用
SELECT* INTO表 FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'Excel 5.0;HDR=YES;DATABASE=c:test.xls',sheet1$)
以上语句是将 EXCEL文件里 SHEET1工作表中所有的列都读进来,如果只想导部分列,可以
INSERT INTO表(a1,a2,a3) SELECT a1,a2,a3 FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'Excel 5.0;HDR=YES;DATABASE=c:test.xls',sheet1$)
其实可以将 OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'Excel 5.0;HDR=YES;DATABASE=c:test.xls',sheet1$)当成一个表,例如我就写过这样一个句子:
INSERT INTO eval_channel_employee(channel,employee_id)
SELECT CASE a.渠道 WHEN'DIY' THEN 1 WHEN'RDC' THEN 0 WHEN'KCM' THEN 2 ELSE 3 END
OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'Excel 5.0;HDR=YES;DATABASE=c:tempname.xls',sheet1$) AS a,pers_employee b
SQL2005中直接可以实现导入功能 SQL2008不知道可不可以。
第一步:登录到 SQL Server Management Studio,
第二步:在"对象资源管理器"中右键单击"管理",在弹出列表中单击"导入数据"
第三步:在"导入向导"对话框中单击"下一步",进入到"选择数据源"对话框,在"数据源"列表中选择"Microsoft Excel",同时选择相应的 Excel文档,完成后单击"下一步"(一定要勾选该对话框中的"首行包含列名称",因此它是将 Excel文档中的列标题为数据库表中的列项标题)
第四步:指定目标数据库服务,依次单击"下一步"…至到"完成"
第五步:重新打到 SQL Server Management Studio,进入到导入的数据库表,可以发现所导入的 Excel文档数据。
打开SQL Server Configuration Manager,启用SQL Server Agent(实例名)。启动模式更改为"自动"