首先,需要在excel中添加加载项--数据分析库,然后就可以进行数据自动生成了,以专业的术语叫做“随机数发生器”。依次点击:excel选项-加载项-转到,进行分析工具库的添加工作。
分析工具库添加完成之后,在excel的“数据”选项卡上,最右侧会多出一个“分析”的菜单栏,点击“数据分析”。
选择“数据分析”下的“随机数发生器”。
d出的界面上,为随机数发生器的参数设置界面。其中,变量个数=生成数据列数、随机数个数=生成数据行数,比如,设置:变量个数=5、随机数个数=10,那么,就会生成一个5列、10行的数据。
接下来,选择随机数据的分布类型,以“正态分布”为例,设定:平均值=50、标准差=5。
选定数据的输出位置,可以选定区域、新建工作表、新建工作簿,本例中以选定区域为例来说情况,如下图,选择将数据输出到:A1:E10区域中。
数据输出成功,如下图所示。
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了
EXECL表中的数据导入数据库并不难!1、要懂得数据库知识,并建有相关的可用于存储该数据的表。2、可以编程,直接读取EXECL表单中数据,使用SQL写入数据库。3、可以将EXECL另存为文本格式,然后使用BCP或者使用数据库相关工具或软件,将文件内容导入数据库。
一般的数据库系统都支持批量数据导入,格式支持txt、csv、xls等,如SQL、Orale、Sybase等,但要求:
1、你所 *** 作的数据库系统支持excel格式的数据导入;
2、所导入的数据表的表结构(如多少列)和内容格式(如时间格式)等与数据库表的要求一直,
以上就是关于如何在excel中自动写入数据库全部的内容,包括:如何在excel中自动写入数据库、如何把Excel表中数据导入数据库、怎么用excel表中的数据写入数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)