Maison  >  Article  >  développement back-end  >  Implémentation PHP d'un exemple d'importation Excel

Implémentation PHP d'un exemple d'importation Excel

小云云
小云云original
2018-03-20 13:14:0810918parcourir

Cet article partage principalement avec vous des exemples d'importation PHP d'Excel. Tout d'abord, vous devez télécharger le portail PHPexcel. J'espère que cela aide tout le monde.

Après avoir décompressé le fichier, placez-le dans le répertoire ThinkPHPLibraryVendor

Code HTML

<div class="form-group">
   <!-- <a class="button input-file" style="text-align: center;vertical-align: middle;" href="javascript:void(0);">上传要发送的号码文件<input  size="80" type="file" name="file1" id="file1" onchange="check1()" /></a>!-->
    <h3>导入Excel表:</h3><input  type="file" name="file_stu" />
    <input type="submit"  value="导入" />
</div>

Code PHP

Créez un nouveau ExcelToArrary.class.php sous ThinkPHPLibraryOrgUtil.

Erreur fatale : Classe 'PHPExcel_IOFactory' introuvable
<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2016/12/6 0006
 * Time: 下午 3:23
 */
namespace Org\Util;


class ExcelToArrary
{
    public function __construct() {
        Vendor("Excel.PHPExcel");//引入phpexcel类(注意你自己的路径)
        Vendor("Excel.PHPExcel.IOFactory");
    }
    public function read($filename,$encode,$file_type)
    {
        if (strtolower($file_type) == &#39;xls&#39;)//判断excel表类型为2003还是2007
        {
            Vendor("Excel.PHPExcel.Reader.Excel5");
            $objReader = \PHPExcel_IOFactory::createReader(&#39;Excel5&#39;);
        } elseif (strtolower($file_type) == &#39;xlsx&#39;) {
            Vendor("Excel.PHPExcel.Reader.Excel2007");
            $objReader = \PHPExcel_IOFactory::createReader(&#39;Excel2007&#39;);
        }
        $objReader->setReadDataOnly(true);
        $objPHPExcel = $objReader->load($filename);
        $objWorksheet = $objPHPExcel->getActiveSheet();
        $highestRow = $objWorksheet->getHighestRow();
        $highestColumn = $objWorksheet->getHighestColumn();
        $highestColumnIndex = \PHPExcel_Cell::columnIndexFromString($highestColumn);
        $excelData = array();
        for ($row = 1; $row <= $highestRow; $row++) {
            for ($col = 0; $col < $highestColumnIndex; $col++) {
                $excelData[$row][] = (string)$objWorksheet->getCellByColumnAndRow($col, $row)->getValue();
            }
        }
        return $excelData;
    }
}

Solution : Ajoutez

devant PHPExcel_IOFactory. Recommandations associées :
use Org\Util\ExcelToArrary ;
public function uploadxsl()
{

    /******************导入文件处理*******************/
    $tmp_file = $_FILES [&#39;file_stu&#39;] [&#39;tmp_name&#39;];
    $file_types = explode(".", $_FILES [&#39;file_stu&#39;] [&#39;name&#39;]);
    $file_type = $file_types [count($file_types) - 1];

    /*判别是不是.xls文件,判别是不是excel文件*/
    if (strtolower($file_type) != "xlsx" && strtolower($file_type) != "xls") {
        $this->error(&#39;不是Excel文件,重新上传&#39;);
    }

    /*设置上传路径*/
    $savePath = C(&#39;UPLOAD_DIR&#39;);

    /*以时间来命名上传的文件*/
    $str = date(&#39;Ymdhis&#39;);
    $file_name = $str . "." . $file_type;

    /*是否上传成功*/
    if (!copy($tmp_file, $savePath . $file_name)) {
        $this->error(&#39;上传失败&#39;);
    }
    $ExcelToArrary = new ExcelToArrary();//实例化
    $res = $ExcelToArrary->read(C(&#39;UPLOAD_DIR&#39;) . $file_name, "UTF-8", $file_type);//传参,判断office2007还是office2003
   
    foreach ($res as $k => $v) //循环excel表
    {
        $k = $k - 1;//addAll方法要求数组必须有0索引
        $data[$k][&#39;user_id&#39;] = $_SESSION[&#39;admin_id&#39;];
        $data[$k][&#39;mobile_user&#39;] = $v [0];//创建二维数组
        $data[$k][&#39;mobile&#39;] = $v [1];

    }

    $db = M(&#39;user_db&#39;);//数据库
    $db->addAll($data);
}

Partage de la façon d'importer Excel depuis phpexcel dans TP3.2


php Excel importer plusieurs tables


PHPExcel importer et exporter des fichiers Excel

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn