转自http://www.cnblogs.com/bufferfly/archive/2012/03/21/2409811.html
方法-:利用excel本身的命令实现:
1将excel文件中的数据转换成sql文件
(1)如图所示,我们在excel中执行如下语句
=CONCATENATE(“insertinto table_name (col1,col2) ('”,A1,”','”B1”');”)
其中table_name表示你要插入的表,col1和col2表示插入的列。
(2)鼠标点住C1单元格的右下角一直拖拽下去,为所有要执行sql语句的行插入上述公式。
(3)复制C列的内容到sql文件中,如下图
(4)将sql文件导入到mysql中执行,我们可以采用两种方式。
1)采用命令行的方式
进入mysql控制台后,使用命令sourceexample.sql,或者直接执行
mysql-u用户名-p密码 -D数据库<example.sql
2)如果安装了mysql客户端,可以新建Scrip文件,导入sql文件执行,如图:
方法二 利用脚本实现,在这里使用perl,因为我经常使用,呵呵。
首先将excel的数据复制到文本文件file_input中,然后执行如下脚本即可。
1 #!/usr/bin/perl
2
3 use strict;
4
5 use warnings;
6
7 my $file = "input_file";
8
9 open FILE_INPUT $file;
10
11 open FILE_OUTPUT ">output_file";
12
13 while(<FILE_INPUT>)
14
15 {
16
17 chomp;
18
19 #因为我的文件中(如上图)只有两列,所以我只采用两个参数保存切割结果,
20
21 #采用多个空格(\s+)作为切割标准
22
23 my($input1,$input2) = split(/\s+/, $_);
24
25 print FILE_OUTPUT "insert into table_name \(col1,col2\) values\(\"$input1\",\"$input2\"\)";
26
27 }
28
29 close FILE_INPUT;
30
31 close FILE_OUTPUT;