J9国际集团|Home

135-2716-3909
网站建设资讯详细

PHP网站制作之后台功□□□□能Excel文档导入▲数据表

发表日期:2026-07-25 13:59:33   作者来源:黎云辉   浏览:2955   标签:PHP网站制作    
在网站建□□设过程中,时不时就□□□□会遇到需□□□要增加大□□□□量数据的□□□□情况,比如说产□□□□品数据,会员数据□□□之类的,从其他站□□点搬迁到◉新的网站□□□上,如果手动☆一条一条◣的去增加,那无疑是◤会浪费大□□□量的时间□□和精力;而且数据◤表结构设□□计在不相□□□同的情况□□□□下,也不能完□□全的直接□□□□导入原来□□的数据表,所以这种※情况下,可以把原□□□□来的数据▼表导出为Excel文档,然后再通□□□过导入Excel文档到数□□据库,这样一来□□□就节省了○人力物力□□以及大量◆的时间,而且也保□□□证了数据□□□□不会丢失。
 数据导入

 

大概的页●面是这样✦的,这里是设□□置一个Excel文档模板※给后台管□□□理人员参◇考,以免Excel文档结果□□□不对,导致导入□□□□数据出错;
 
 待导入Excel
 
Excel文档的结构是这样的,下面做功能程序的时候需要用到;
 

PHP代码块1

这里的ABCDE就是对应Excel文档的列◎名称,左边对应•的就是数◇据表名称,这里根据●个人情况□□□□设置即可;
 
 PHP代码块2
 
下面直接贴出代码:
table_excel方法:
public function table_excel(){
 
        if (IS_POST){
            ini_set('memory_limit', '256M');//程序运行内存
            $file_url=I('post.file_url','');
            if($file_url==''){;
                $this->error('请先上传文件');
            }
            $file_url=str_replace('/Uploads','Uploads',$file_url);//去掉第一个斜线,因为取词excel只能用相对路径。
            $array=excelImport($file_url,1,'E');
            //从第一行开始,E列结束,需要修改excelImport($filename, $begin) 为 excelImport($filename, $begin,$allColumn);   去掉 $allColumn = $currentSheet->getHighestColumn();输出$array就知道怎么导入了
            // var_dump($array);exit();
            $ModelObj = D('Member');
 
            if(!count($array)){
             $this->error('上传的文件不正确');
            }
            $lists=array();
            $this->status=1;
            $num=0;
            foreach($array as $key => $var){
 
                $data['title'] = $var['A'];
                $data['number'] = $var['B'];
                $data['courses'] = $var['C'];
                $data['place'] =$var['D'];
                $data['time'] = $var['E'];
 
                $data['order_id'] = 100;
                $data['is_show'] = 1;
                $flag = $ModelObj->data($data)->add();
                if($flag>0){
                   $num++;
                }
            }
                 unset($data);
                 unset($var['A']);
                 unset($var['B']);
                 unset($var['C']);
                 unset($var['D']);
                 unset($var['E']);
 
                 $this->success('成功导入'.$num.'条信息');
        }
                $this->display();
}
 
 
excelImport方法:
/**
 * 读取Excel文件
 */
function excelImport($filename, $begin,$allColumn) {
    Vendor('PHPExcel.PHPExcel');
    //建立reader对象
    $PHPReader = new PHPExcel_Reader_Excel2007();
    if (!$PHPReader->canRead($filename)) {
        $PHPReader = new PHPExcel_Reader_Excel5();
        if (!$PHPReader->canRead($filename)) {
            return array();
        }
    }
 
    //建立excel对象,此时你即□□□可以通过excel对象读取□□文件,也可以通□□□□过它写入□□文件
    $PHPExcel = $PHPReader->load($filename);
 
    /*     * 读取excel文件中的第一个工作表 */
    $currentSheet = $PHPExcel->getSheet(0);
    /*     * 取得最大的列号 */
  //  $allColumn = $currentSheet->getHighestColumn();
    /*     * 取得一共有多少行 */
    $allRow = $currentSheet->getHighestRow();
 
    $returnCell = '';
    //循环读取每个单元格的内容。注意行从1开始,列从A开始
    for ($rowIndex = $begin; $rowIndex <= $allRow; $rowIndex++) {
        for ($colIndex = 'A'; $colIndex <= $allColumn; $colIndex++) {
            $addr = $colIndex . $rowIndex;
            $cell = $currentSheet->getCell($addr)->getValue();
            if ($cell instanceof PHPExcel_RichText) {
                //富文本转换字符串
                $returnCell[$rowIndex][$colIndex] = $cell->__toString();
            } else {
                $returnCell[$rowIndex][$colIndex] = $cell;
            }
        }
    }
    return $returnCell;
 
}

PHP是一门专□□□□门开发网□□站的语言,非常好用,而且还是□□□□开源免费□□的,配合开源◤数据库MYSQL,基本天衣□□无缝。
 
如没特殊注明,文章均为J9国际集团原创,转载请注明来自https://www.nzweibaum.com/news/6535.html