• thinkphp5导入excel数据


    <?php
    namespace appindexcontroller;
    use thinkController;
    
    class Excel extends Controller{
        public function read(){
            vendor("PHPExcel");
    
    
            $excel = 'zworld.xlsx';
        	//$excelFile = ROOT_PATH.'/public/static/'.$excel;
            $excelFile = ROOT_PATH . 'public' . DS . 'static' . DS . $excel;
        	$filename=iconv('utf-8','gbk',$excelFile);
    
            $fileExt = substr(strrchr($excelFile, '.'),1);
            if( ($fileExt != 'xlsx') && ($fileExt != 'xls')  ){
                exit("请导入excel格式的文件");
            }
    
    
    
            //引入PHPExcel
            //header("content-type:text/html; charset=utf-8");
            vendor("PHPExcel.PHPExcel",EXTEND_PATH);
    
            	hinkLoader::import('PHPExcel.PHPExcel');
    
            require THINK_PATH.'Library/org/ExcelToArrary.class.php';
            //获取文件名
    
    
            $ExcelToArrary=new ExcelToArrary();//实例化
    
            $res=$ExcelToArrary->read($excelFile,"UTF-8",$fileExt);
    
            foreach ($res as $k => $v) {
                if ($k > 1) {
                    $data[$k]['First Name'] = $v[1];
                    $data[$k]['Last Name'] = $v[2];
                    $data[$k]['email'] = $v[3];
                    $data[$k]['country_region'] = $v[5];//国家、地区
    //                    $data ['password'] = sha1('111111');
                }
    
            }
            print_r($data);
    
    
    
    
    
    
    
    
            
        }
    
    
    }
    
    ExcelToArrary.class.php
    路径:
    thinkphp/library/org/ExcelToArrary.class.php
    
    <?php
    /** 
     * 读取Excel数据
     */
    class ExcelToArrary {
        public function __construct() {
            //这些文件需要下载phpexcel,然后放在vendor文件里面。具体参考上一篇数据导出。
            vendor("PHPExcel.PHPExcel.PHPExcel");
            vendor("PHPExcel.PHPExcel.Writer.Excel5");
            vendor("PHPExcel.PHPExcel.Writer.Excel2007");
            vendor("PHPExcel.PHPExcel.IOFactory");
        }
        public function read($filename,$encode,$file_type){
                if(strtolower ( $file_type )=='xls')//判断excel表类型为2003还是2007
                {
                    Vendor("Excel.PHPExcel.Reader.Excel5"); 
                    $objReader = PHPExcel_IOFactory::createReader('Excel5');
                    $objReader = PHPExcel_IOFactory::createReader('Excel5');
    
                }elseif(strtolower ( $file_type )=='xlsx')
                {
                    Vendor("Excel.PHPExcel.Reader.Excel2007"); 
                    $objReader = PHPExcel_IOFactory::createReader('Excel2007');
                }
                $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;
        }
    }
    
  • 相关阅读:
    try-catch 回滚事务,避免回滚失效的操作
    Java 7中的Try-with-resources
    Linux开发环境之配置静态IP地址
    Windows和Linux系统如何退出python命令行
    Python基础(一)
    Linux开发环境之nginx
    Linux开发环境之安装自带jdk
    Linux删除命令的几种方式
    MySQL之新建索引原则
    webapp环境搭建(一)
  • 原文地址:https://www.cnblogs.com/pangchunyu/p/14831282.html
Copyright © 2020-2023  润新知