Heim >php教程 >php手册 >如何通过PHP将excel的数据导入MySQL中

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

WBOY
WBOYOriginal
2016-06-06 19:59:541224Durchsuche

p hp使用phpExcelReader导入excel的方法 phpExcelReader是专门用来读取文件的。返回一个数组,包含表的所有内容。 该 class 使用的方法可以参考网站下载回来的压缩档中的 example.php。 有几点要需要注意: 1、reader.php 中:将 require_once 'Spreadsheet/E

php使用phpExcelReader导入excel的方法  

phpExcelReader是专门用来读取文件的。返回一个数组,包含表格的所有内容。


该 class 使用的方法可以参考网站下载回来的压缩档中的 example.php。


有几点要需要注意:


1、reader.php 中:将 require_once 'Spreadsheet/Excel/Reader/OLERead.php';改为 require_once 'oleread.inc';


2、example.php 中:修改 $data->setOutputEncoding('CP1251');为 $data->setOutputEncoding('CP936');或者是$data->setOutputEncoding('gbk');


3、修改 nl2br(htmlentities($data->sheets[$sheet]['cells'][$row][$col]));为 $table_output[$sheet] .= nl2br(htmlspecialchars($data->sheets[$sheet]['cells'][$row][$col]));


不然中文会有问题。


繁体的话可以修改为CP950、日文是CP932,具体可参考codepage说明。


===========================================================
require_once 'excel/reader.php'; 
$data = new Spreadsheet_Excel_Reader(); 
$data->setOutputEncoding('gbk');  //设置编码
$data->read('徐州.xls'); //指定文件
for ( $i = 1; $i sheets[0]['numRows']; $i++) { 
 for ($j = 1; $j sheets[0]['numCols']; $j++) { 
 echo $data->sheets[0]['cells'][$i][$j]." | "; 
 } 
 echo "
"; 

}


-------------------------------------------------------------------------------------------------------

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

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

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

代码如下:
    

    $dir=dirname(__FILE__);                       //获取当前脚本的绝对路径
    $dir=str_replace("\","/",$dir)."/";

    $filename='uploadFile.xls'; //可以定义一个上传后的文件名称
    $result=move_uploaded_file($_FILES['upload'] ['tmp_name'],$dir.$filename);//假如上传到当前目录下
    if($result)  //如果上传文件成功,就执行导入excel操作
    {
     require_once 'phpExcelReader/Excel/reader.php';
     $data = new Spreadsheet_Excel_Reader();
     $data->setOutputEncoding('utf-8');//设置在页面中输出的编码方式,而不是utf8

      // 该方法会自动判断上传的文件格式,不符合要求会显示错误提示信息(错误提示信息在该方法内部)。
     $data->read("$filename");  //读取上传到当前目录下名叫$filename的文件

     error_reporting(E_ALL ^ E_NOTICE);
     //如果excel表带标题,则从$i=2开始,去掉excel表中的标题部分(要将$i
     for ($i = 2; $i sheets[0]['numRows']; $i++)
     {
      $sql = "INSERT INTO user (stuid,class,name,sex,classNum,tel,addr,remark) 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]."','".    //联系电话
      $data->sheets[0]['cells'][$i] [7]."','".    //联系地址
      $data->sheets[0]['cells'][$i][8]."')";     //附注

         $db->query($sql);
         $insert_info.= " $sql
n";          //可以用来显示数据插入的信息

     }
     $totalNums=$data->sheets[0]['numRows']-2;//求出导入的总数据条数(这里是减去2,才会得到去除标题后的总数据)
     //echo "导入成功!";
     unlink("$filename");                             //删除上传的excel文件

    }
    else
    {
     $errmsg="上传失败";
    }


=======================================================================

zendframework上传文件

此方法适用于1.6或更高版本。

1.先在view页面写html代码。

 

 
 
 
 
 
 
Choose a 
file to upload:
 

 
 

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:PHP识别url重写请求Nächster Artikel:PHP的可变变量名