Chinaunix首页 | 论坛 | 博客
  • 博客访问: 74026
  • 博文数量: 29
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 272
  • 用 户 组: 普通用户
  • 注册时间: 2015-01-05 20:32
文章分类

全部博文(29)

文章存档

2016年(2)

2015年(27)

我的朋友

分类: Mysql/postgreSQL

2015-03-23 21:13:01

本文转载自http://blog.sina.com.cn/s/blog_5d972ae00100gjij.html

今天项目上遇到需要将excel中的数据导入到数据库的classify表中,于是乎拼命上网查阅方法,发现以下两种方法比较可行:

在此之前先说说按照网上的说法我没有试验成功的方法,将excel文件xls保存为csv文件,利用phpadmin进行导入,遗憾的是,我在导入的过程中提示“。。。line 1”记不清了什么错误,总之是没有成功。今天项目上遇到需要将excel中的数据导入到数据库的classify表中,于是乎拼命上网查阅方法,发现以下两种方法比较可行:
在此之前先说说按照网上的说法我没有试验成功的方法,将excel文件xls保存为csv文件,利用phpadmin进行导入,遗憾的是,我在导入的过程中提示“。。。line 1”记不清了什么错误,总之是没有成功。
 
第一种比较可行的方法是博友(bo博)文章中提到方法(http://ttov.blog.163.com/blog/static/38227152010026111311508/),现在整理如下:
1.将选中的数据快儿拷贝到一个TXT文本文件中(记得把后面的空格消掉。。否则导入数据库后会有对应的空行),假如存到“D:\data.txt”这个位置里。
2.根据要导入的数据快儿建立MySql数据库和表,然后进入命令提示符里使用命令
load data local infile 'D:/data.txt' into table exceltomysql fields terminated by '\t';
注意:盘符我使用的“/”才成功,否则提示找不到文件 下面文章中是用的“\”!
 进行导入操作
手动进行Excel数据和MySql数据转换
2006年09月16日 星期六 下午 02:44
 
 
    今天是全国数学建模比赛,同学选的一个题目需要对一个large的Excel表格进行统计,好哥们儿嘛~~便帮助他完成了数据从Excel到MySql的转化。记下具体步骤分享给大家,也免得大家到网上到处乱找了。
    假如要把如图所示的Excel表格导入到MySql数据库中,如图:
将EXCEL表格中的数据导入mysql数据库表中(两种方法)



步骤一:
选取要导入的数据快儿,另外要多出一列,如下图:
将EXCEL表格中的数据导入mysql数据库表中(两种方法)


步骤二:
将选中的数据快儿拷贝到一个新建的表格工作薄,然后“另存为” -》“文本文件(制表符分割)(*.txt)”,假如存到“D:\data.txt”这个位置里。如图:
将EXCEL表格中的数据导入mysql数据库表中(两种方法)


步骤三:
根据要导入的数据快儿建立MySql数据库和表,然后使用命令
load data local infile 'D:\data.txt' into table exceltomysql fields terminated by '\t';
进行导入操作。如下图:
将EXCEL表格中的数据导入mysql数据库表中(两种方法)


现在数据已经全部导入到MySql里了,
让我们来select一下吧,如图:
将EXCEL表格中的数据导入mysql数据库表中(两种方法)


到此,数据由Excel到MySql的转换已经完成。
下面说下,数据从MySql到Excel的转化,其过程其实还是借助那个“制表符分割”的文本文件。
将如要将这个表中的男生信息导入到Excel中,可以这样。
select * into outfile 'D:\man.txt' from exceltomysql where xingbie="男";
如图:
将EXCEL表格中的数据导入mysql数据库表中(两种方法)


    这样,表中所有男生的信息都被输出到以制表符分割,'\n'结尾的文本文件D:\man.txt文件中。
你可以打开Excel,然后选择“数据”->“导入外部数据”->“导入数据”,选中“D:\man.txt”,一路确定就行了。
 
注意:这个方法我用过虽然可以插入到mysql数据库中,但是有乱码的危险。所以我更推荐使用下面的方法。
 
方法二:此方法是博友TVBBOY整理,我根据自己遇到的情况重新总结如下:
准备工作: PHP-ExcelReader,下载地址: 我用的是2007-07-06的那个压缩文件,下载后用到\phpExcelReader\Excel目录下的oleread.inc和reader.php两个文件,并将reader.php文件打开后require_once 'Spreadsheet/Excel/Reader/OLERead.php';屏蔽掉,增加为require_once 'oleread.inc'; 然后直接将这两个文件复制到服务器下,我用的是WAMP,我直接复制到WWW目录下,再将所需要的excel文件考进来我的文件是classify.xls,然后需要一个调用reader.php的文件,源代码如下:
 
ExcelToMysql.php
 

require_once 'reader.php';
$data = new Spreadsheet_Excel_Reader();
$data->setOutputEncoding('gbk');
 $data->read('classify.xls');   //”classify.xls”是指要导入到mysql中的excel文件
 @ $db = mysql_connect("localhost", "root", "") or
       die("Could not connect to database.");//连接数据库
mysql_query("set names 'gbk'");//输出中文
mysql_select_db('japlearn');       //选择数据库
error_reporting(E_ALL ^ E_NOTICE);
 
for ($i = 1; $i <= $data->sheets[0]['numRows']; $i++) {
//以下注释的for循环打印excel表数据
 
//以下代码是将excel表数据【6个字段】插入到mysql中,根据你的excel表字段的多少,改写以下代码吧!
    $sql = "INSERT INTO classify VALUES('".
               $data->sheets[0]['cells'][$i][1]."','".
                 $data->sheets[0]['cells'][$i][2]."','".
                 $data->sheets[0]['cells'][$i][3]."','".
                 $data->sheets[0]['cells'][$i][4]."','".$data->sheets[0]['cells'][$i][5]."','".$data->sheets[0]['cells'][$i][6]."')";
 
    echo $sql.'
';

       $res = mysql_query($sql);
}
 
?>
文中红色标注为需要注意的地方,请替换成你配置好的数据,如数据库配置等。运行实现导入。

 

第一种比较可行的方法是博友(bo博)文章中提到方法(http://ttov.blog.163.com/blog/static/38227152010026111311508/),现在整理如下:

1.将选中的数据快儿拷贝到一个TXT文本文件中(记得把后面的空格消掉。。否则导入数据库后会有对应的空行),假如存到“D:\data.txt”这个位置里。

2.根据要导入的数据快儿建立MySql数据库和表,然后进入命令提示符里使用命令

load data local infile 'D:/data.txt' into table exceltomysql fields terminated by '\t';

注意:盘符我使用的“/”才成功,否则提示找不到文件 下面文章中是用的“\”!

 进行导入操作

手动进行Excel数据和MySql数据转换

2006年09月16日 星期六 下午 02:44

 

 

    今天是全国数学建模比赛,同学选的一个题目需要对一个large的Excel表格进行统计,好哥们儿嘛~~便帮助他完成了数据从Excel到MySql的转化。记下具体步骤分享给大家,也免得大家到网上到处乱找了。

    假如要把如图所示的Excel表格导入到MySql数据库中,如图:

将EXCEL表格中的数据导入mysql数据库表中(两种方法)

步骤一:

选取要导入的数据快儿,另外要多出一列,如下图:

将EXCEL表格中的数据导入mysql数据库表中(两种方法)

步骤二:

将选中的数据快儿拷贝到一个新建的表格工作薄,然后“另存为” -》“文本文件(制表符分割)(*.txt)”,假如存到“D:\data.txt”这个位置里。如图:

将EXCEL表格中的数据导入mysql数据库表中(两种方法)

步骤三:

根据要导入的数据快儿建立MySql数据库和表,然后使用命令

load data local infile 'D:\data.txt' into table exceltomysql fields terminated by '\t';

进行导入操作。如下图:

将EXCEL表格中的数据导入mysql数据库表中(两种方法)

现在数据已经全部导入到MySql里了,

让我们来select一下吧,如图:

将EXCEL表格中的数据导入mysql数据库表中(两种方法)

到此,数据由Excel到MySql的转换已经完成。

下面说下,数据从MySql到Excel的转化,其过程其实还是借助那个“制表符分割”的文本文件。

将如要将这个表中的男生信息导入到Excel中,可以这样。

select * into outfile 'D:\man.txt' from exceltomysql where xingbie="男";

如图:

将EXCEL表格中的数据导入mysql数据库表中(两种方法)

    这样,表中所有男生的信息都被输出到以制表符分割,'\n'结尾的文本文件D:\man.txt文件中。

你可以打开Excel,然后选择“数据”->“导入外部数据”->“导入数据”,选中“D:\man.txt”,一路确定就行了。

 

注意这个方法我用过虽然可以插入到mysql数据库中,但是有乱码的危险。所以我更推荐使用下面的方法。

 

方法二:此方法是博友TVBBOY整理,我根据自己遇到的情况重新总结如下:

准备工作: PHP-ExcelReader,下载地址:  我用的是2007-07-06的那个压缩文件,下载后用到\phpExcelReader\Excel目录下的oleread.inc和reader.php两个文件,并将reader.php文件打开后require_once 'Spreadsheet/Excel/Reader/OLERead.php';屏蔽掉,增加为require_once 'oleread.inc'; 然后直接将这两个文件复制到服务器下,我用的是WAMP,我直接复制到WWW目录下,再将所需要的excel文件考进来我的文件是classify.xls,然后需要一个调用reader.php的文件,源代码如下:

 

ExcelToMysql.php

 

require_once 'reader.php';

$data = new Spreadsheet_Excel_Reader();

$data->setOutputEncoding('gbk');

 $data->read('classify.xls');   //”classify.xls”是指要导入到mysql中的excel文件

 @ $db = mysql_connect("localhost", "root", "") or

       die("Could not connect to database.");//连接数据库

mysql_query("set names 'gbk'");//输出中文

mysql_select_db('japlearn');       //选择数据库

error_reporting(E_ALL ^ E_NOTICE);

 

for ($i = 1; $i <= $data->sheets[0]['numRows']; $i++) {今天项目上遇到需要将excel中的数据导入到数据库的classify表中,于是乎拼命上网查阅方法,发现以下两种方法比较可行:
在此之前先说说按照网上的说法我没有试验成功的方法,将excel文件xls保存为csv文件,利用phpadmin进行导入,遗憾的是,我在导入的过程中提示“。。。line 1”记不清了什么错误,总之是没有成功。
 
第一种比较可行的方法是博友(bo博)文章中提到方法(http://ttov.blog.163.com/blog/static/38227152010026111311508/),现在整理如下:
1.将选中的数据快儿拷贝到一个TXT文本文件中(记得把后面的空格消掉。。否则导入数据库后会有对应的空行),假如存到“D:\data.txt”这个位置里。
2.根据要导入的数据快儿建立MySql数据库和表,然后进入命令提示符里使用命令
load data local infile 'D:/data.txt' into table exceltomysql fields terminated by '\t';
注意:盘符我使用的“/”才成功,否则提示找不到文件 下面文章中是用的“\”!
 进行导入操作
手动进行Excel数据和MySql数据转换
2006年09月16日 星期六 下午 02:44
 
 
    今天是全国数学建模比赛,同学选的一个题目需要对一个large的Excel表格进行统计,好哥们儿嘛~~便帮助他完成了数据从Excel到MySql的转化。记下具体步骤分享给大家,也免得大家到网上到处乱找了。
    假如要把如图所示的Excel表格导入到MySql数据库中,如图:
将EXCEL表格中的数据导入mysql数据库表中(两种方法)



步骤一:
选取要导入的数据快儿,另外要多出一列,如下图:
将EXCEL表格中的数据导入mysql数据库表中(两种方法)


步骤二:
将选中的数据快儿拷贝到一个新建的表格工作薄,然后“另存为” -》“文本文件(制表符分割)(*.txt)”,假如存到“D:\data.txt”这个位置里。如图:
将EXCEL表格中的数据导入mysql数据库表中(两种方法)


步骤三:
根据要导入的数据快儿建立MySql数据库和表,然后使用命令
load data local infile 'D:\data.txt' into table exceltomysql fields terminated by '\t';
进行导入操作。如下图:
将EXCEL表格中的数据导入mysql数据库表中(两种方法)


现在数据已经全部导入到MySql里了,
让我们来select一下吧,如图:
将EXCEL表格中的数据导入mysql数据库表中(两种方法)


到此,数据由Excel到MySql的转换已经完成。
下面说下,数据从MySql到Excel的转化,其过程其实还是借助那个“制表符分割”的文本文件。
将如要将这个表中的男生信息导入到Excel中,可以这样。
select * into outfile 'D:\man.txt' from exceltomysql where xingbie="男";
如图:
将EXCEL表格中的数据导入mysql数据库表中(两种方法)


    这样,表中所有男生的信息都被输出到以制表符分割,'\n'结尾的文本文件D:\man.txt文件中。
你可以打开Excel,然后选择“数据”->“导入外部数据”->“导入数据”,选中“D:\man.txt”,一路确定就行了。
 
注意:这个方法我用过虽然可以插入到mysql数据库中,但是有乱码的危险。所以我更推荐使用下面的方法。
 
方法二:此方法是博友TVBBOY整理,我根据自己遇到的情况重新总结如下:
准备工作: PHP-ExcelReader,下载地址: 我用的是2007-07-06的那个压缩文件,下载后用到\phpExcelReader\Excel目录下的oleread.inc和reader.php两个文件,并将reader.php文件打开后require_once 'Spreadsheet/Excel/Reader/OLERead.php';屏蔽掉,增加为require_once 'oleread.inc'; 然后直接将这两个文件复制到服务器下,我用的是WAMP,我直接复制到WWW目录下,再将所需要的excel文件考进来我的文件是classify.xls,然后需要一个调用reader.php的文件,源代码如下:
 
ExcelToMysql.php
 

require_once 'reader.php';
$data = new Spreadsheet_Excel_Reader();
$data->setOutputEncoding('gbk');
 $data->read('classify.xls');   //”classify.xls”是指要导入到mysql中的excel文件
 @ $db = mysql_connect("localhost", "root", "") or
       die("Could not connect to database.");//连接数据库
mysql_query("set names 'gbk'");//输出中文
mysql_select_db('japlearn');       //选择数据库
error_reporting(E_ALL ^ E_NOTICE);
 
for ($i = 1; $i <= $data->sheets[0]['numRows']; $i++) {
//以下注释的for循环打印excel表数据
 
//以下代码是将excel表数据【6个字段】插入到mysql中,根据你的excel表字段的多少,改写以下代码吧!
    $sql = "INSERT INTO classify VALUES('".
               $data->sheets[0]['cells'][$i][1]."','".
                 $data->sheets[0]['cells'][$i][2]."','".
                 $data->sheets[0]['cells'][$i][3]."','".
                 $data->sheets[0]['cells'][$i][4]."','".$data->sheets[0]['cells'][$i][5]."','".$data->sheets[0]['cells'][$i][6]."')";
 
    echo $sql.'
';

       $res = mysql_query($sql);
}
 
?>
文中红色标注为需要注意的地方,请替换成你配置好的数据,如数据库配置等。运行实现导入。

//以下注释的for循环打印excel表数据

 

//以下代码是将excel表数据【6个字段】插入到mysql中,根据你的excel表字段的多少,改写以下代码吧!

    $sql = "INSERT INTO classify VALUES('".

               $data->sheets[0]['cells'][$i][1]."','".

                 $data->sheets[0]['cells'][$i][2]."','".

                 $data->sheets[0]['cells'][$i][3]."','".
                 $data->sheets[0]['cells'][$i][4]."','".$data->sheets[0]['cells'][$i][5]."','".$data->sheets[0]['cells'][$i][6]."')";
 

    echo $sql.'
';

       $res = mysql_query($sql);

}

 

?>

文中红色标注为需要注意的地方,请替换成你配置好的数据,如数据库配置等。运行实现导入。

阅读(1452) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~