×

phpexcel导入mysql

phpexcel导入mysql的简单介绍

admin admin 发表于2023-03-26 05:03:11 浏览68 评论0

抢沙发发表评论

本文目录一览:

excel如何导入mysql

第一步:建立数据库和数据表(按照自己的Excel数据设立字段)。

[sql] view plain copy print?

CREATE DATABASE php_excel;

USE php_excel;

CREATE TABLE IF NOT EXISTS php_excel(

id int(20) NOT NULL AUTO_INCREMENT PRIMARY KEY,

gid varchar(20) NOT NULL,

stu_no varchar(20) NOT NULL,

name varchar(45) NOT NULL,

age int(4) NOT NULL

)ENGINE=MyISAM DEFAULT CHARSET=utf8;

第二步:前台index.php文件。

[html] view plain copy print?

!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ""

html xmlns=""

head

meta http-equiv="Content-Type" content="text/html; charset=utf-8" /

titlephpexcel导入excel数据到MYSQL数据库/title

/head

body

form name="frm1" action="insertdb.php" method="post" enctype="multipart/form-data"

input name="filename" type="file" /

input name="submit" type="submit" value="import" /

/form

/body

/html

第三步:向数据库插入数据的insertdb.php文件。

[php] view plain copy print?

session_start();

header("Content-type:text/html;charset:utf-8");

//全局变量

$succ_result=0;

$error_result=0;

$file=$_FILES['filename'];

$max_size="2000000"; //最大文件限制(单位:byte)

$fname=$file['name'];

$ftype=strtolower(substr(strrchr($fname,'.'),1));

//文件格式

$uploadfile=$file['tmp_name'];

if($_SERVER['REQUEST_METHOD']=='POST'){

if(is_uploaded_file($uploadfile)){

if($file['size']$max_size){

echo "Import file is too large";

exit;

}

if($ftype!='xls'){

echo "Import file type is error";

exit;

}

}else{

echo "The file is not empty!";

exit;

}

}

require("./conn.php"); //连接mysql数据库

//调用phpexcel类库

require_once 'PHPExcel.php';

require_once 'PHPExcel\IOFactory.php';

require_once 'PHPExcel\Reader\Excel5.php';

$objReader = PHPExcel_IOFactory::createReader('Excel5');//use excel2007 for 2007 format

$objPHPExcel = $objReader-load($uploadfile);

$sheet = $objPHPExcel-getSheet(0);

$highestRow = $sheet-getHighestRow(); // 取得总行数

$highestColumn = $sheet-getHighestColumn(); // 取得总列数

$arr_result=array();

$strs=array();

for($j=2;$j=$highestRow;$j++)

{

unset($arr_result);

unset($strs);

for($k='A';$k= $highestColumn;$k++)

{

//读取单元格

$arr_result .= $objPHPExcel-getActiveSheet()-getCell("$k$j")-getValue().',';

}

$strs=explode(",",$arr_result);

$sql="insert into php_excel(gid,stu_no,name,age) values ($strs[0],'$strs[1]','$strs[2]',$strs[3])";

echo $sql."br/";

mysql_query("set names utf8");

$result=mysql_query($sql) or die("执行错误");

$insert_num=mysql_affected_rows();

if($insert_num0){

$succ_result+=1;

}else{

$error_result+=1;

}

}

echo "插入成功".$succ_result."条数据!!!br";

echo "插入失败".$error_result."条数据!!!";

其中conn.php代码如下:

[php] view plain copy print?

$mysql=mysql_connect("localhost","root","") or die("数据库连接失败!");

mysql_select_db("php_excel",$mysql);

mysql_query("set names utf8");

我的导入效果如下:

至此,从Excel文件读取数据批量导入到Mysql数据库完成。

phpexcel导入excel到mysql,,坐等

这个嘛,需要多次调试的啊!

        vendor("PHPExcel.PHPExcel");//这里是导入PHPexcl,我用的thinkphp框架!其他框架自己导入文件

        $file_name=excel文件路径;//这里是EXCEL文件路径

        $objReader = PHPExcel_IOFactory::createReader('Excel5');//不要管这行

        $objPHPExcel = $objReader-load($file_name,$encode='utf-8');//把EXCEL转化为对象

        $sheet = $objPHPExcel-getSheet(0);//取得excel工作sheet;

        $highestRow = $sheet-getHighestRow(); // 取得总行数

        $highestColumn = $sheet-getHighestColumn(); // 取得总列数

        for($i=2;$i=$highestRow;$i++){

            $data['数据库字段名']                =$objPHPExcel-getActiveSheet()-getCell("A".$i)-getValue();//ABCD.....就是excel对应的ABCDEF......-phpexcel导入mysql

            $data['数据库字段名']                    =$objPHPExcel-getActiveSheet()-getCell("B".$i)-getValue();//ABCD.....就是excel对应的ABCDEF......-phpexcel导入mysql

            $data['数据库字段名']                    =$objPHPExcel-getActiveSheet()-getCell("C".$i)-getValue();//ABCD.....就是excel对应的ABCDEF......-phpexcel导入mysql

            $data['数据库字段名']                =$objPHPExcel-getActiveSheet()-getCell("D".$i)-getValue();//ABCD.....就是excel对应的ABCDEF......-phpexcel导入mysql

            $data['数据库字段名']                =$objPHPExcel-getActiveSheet()-getCell("E".$i)-getValue();//ABCD.....就是excel对应的ABCDEF......-phpexcel导入mysql

            $data['数据库字段名']            =$objPHPExcel-getActiveSheet()-getCell("F".$i)-getValue();//ABCD.....就是excel对应的ABCDEF......-phpexcel导入mysql

            $data['数据库字段名']                    =$objPHPExcel-getActiveSheet()-getCell("G".$i)-getValue();//ABCD.....就是excel对应的ABCDEF......-phpexcel导入mysql

            M('Users')-add($data);//thinkphp的存储方法(具体你用什么框架或者原生代码,自己去insert,数据格式自己构造)

        }

如何通过PHP将excel的数据导入MySQL中

在开发PHP程序时,很多时候我们会有将数据批量导入数据库的需求,如学生信息批量添加到数据库中,而事先用excel编排好,对excel实行操作,便是我们比较常用的选择方式。

在对excel的操作中,phpExcelReade便是很多人的共同选择。在具体实现中,我们可以以文件上传方式将excel文件上传到服务器中的某个位置,通过以下操作将excel中的数据导入到数据库后,在将上传的文件删除即可。转载,仅供参考。-phpexcel导入mysql

用phpexcel把excel中的数据导入到MYSQL中日期发生错误如何解决

授之以鱼不如授之以渔,我教你个思路。

步骤:

1、将一个带有日期字段的表导出成EXCEL文件。

2、打开EXCEL文件,查看日期的在表格中的存储方式。

3、模仿这种存储方式,将原来的数据修改成这种存储方式。

4、将EXCEL进行导入MYSQL中

5、查看数据是否符合要求。

备注:可以目标表可以的日期字段修改为varchar格式试一试。最后祝楼主工作顺利。

做好的execl 表格如何通过PHP导入到mysql保存

这个问题我遇到过:1.如果实在不想用第三方控件也是可以的,先将excle的.xls文件转换为cvs格式,上传至服务器,然后通过将列转换为数组,如果一列对应一类数据最理想,但如果一列对几类数据就比较复杂,多维数组减化,比较麻烦,最后我选择了第二种方式。 2.就是楼上说的phpExcelReader,非常方便。一个数据配置文件先上传.xls文件require_once-phpexcel导入mysql

'Excel/reader.php';//引用库文件 $data

=

new

Spreadsheet_Excel_Reader();//新建一个excel文件处理

$data-setOutputEncoding('gbk');

$data-read($uploadfile);

error_reporting(E_ALL

^

E_NOTICE);

for

($i

=

1;

$i

=

$data-sheets[0]['numRows'];

$i++)

{

$amm1=

array($data-sheets[0]['cells'][$i][1]);//EXCEL表格第一列,数组array1

$arr[$i]['datetime']=$amm1[0];

$amm2=array($data-sheets[0]['cells'][$i][2]);

$arr[$i]['num']=$amm2[0];

$amm3

=

array($data-sheets[0]['cells'][$i][3]);

$arr[$i]['name']=$amm3[0];

$amm4

=

array($data-sheets[0]['cells'][$i][4]);

$arr[$i]['money']=$amm4[0];

}

array_shift($arr);

//将的标题剔除

求关于php excel导入大数据到mysql的解决办法

下载 PHPExcel

require_once( './PHPExcel/IOFactory.php');

$filePath = 'D:/xxx.xlsx'; //excel 文件名 

$objReader = new PHPExcel_Reader_Excel2007();  //具体查看(Documentation/Examples/Reader/exampleReader01.php)-phpexcel导入mysql

$objPHPExcel = $objReader-load($filePath);

$sheetData = $objPHPExcel-getActiveSheet()-toArray(null,true,true,true);

$insql = 'insert into 表名(x,x,x) valeus';

//遍历数组 $sheetData

//如果有标题 先删除 unset($sheetData[1]);

foreach($sheetData as $k = $data){

    $insql .= '('.$data['A'].','.$data['B'].','.$data['C'].'),';

    //一次插入100条数据  减少数据库压力

    if(($k+1 / 100) == 0){

        $insql = rtrim($insql,',').';'; //将最后的逗号替换成分好

        //插入数据库 并且重置 字符串 $insql  

        //或者保存到文件中 利用source 命令插入数据库

    }

}