微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php导入excel表格

我们做网站的时候经常要用到excel导入和导出的功能,我们通常的做法是用PHPexcel工具包来完成,具体方法如下:

HTML代码

//提交form表单到Mall控制器下的upExcel方法 //添加一个隐藏域 传递url

写ExcelController工具类:此类用来被实例化

class ExcelController extends Controller {
//导入功能
public function updExcel($file){
if(!file_exists($file)){
return array("error"=>0,'message'=>'file not found!');
}
$objReader = \PHPExcel_IOFactory::createReader('Excel5');

    $obj<a href="https://www.jb51.cc/tag/PHP/" target="_blank" class="keywords">PHP</a>Excel = $objReader->load($file,$encode='utf-8');

    $sheet = $obj<a href="https://www.jb51.cc/tag/PHP/" target="_blank" class="keywords">PHP</a>Excel->getSheet(0);
    $highestRow = $sheet->getHighestRow(); // 取得总行数
    $highestColumn = $sheet->getHighestColumn(); // 取得总列数
    $j=0;
    for($i=2;$i<=$highestRow;$i++){

        $data[$j]['id']= $objPHPExcel->getActiveSheet()->getCell("A".$i)->getValue();

        $data[$j]['result_price']= $obj<a href="https://www.jb51.cc/tag/PHP/" target="_blank" class="keywords">PHP</a>Excel->getActiveSheet()->getCell("B".$i)->getValue();
        $j++;
    }
    return $data;
}</span></pre>

下面书写控制器来上传excel表格:此类方法不用把excel表格传递到服务器,直接写入数据:

class MallController extends Controller {
/商品列表批量导入/
public function updExcel(){
$excel=new ExcelController();
$goods=M('shop_goods_subinfo');

    if(isset($_FILES["import"]) &amp;&amp; ($_FILES["import"]["error"] == 0)){
        $result = $excel->updExcel($_FILES["import"]["tmp_name"]);
        /*
         * 业务逻辑<a href="https://www.jb51.cc/tag/daima/" target="_blank" class="keywords">代码</a>
         * */
        $true="";
        $false="";
        foreach($result as $value){
            //$where=array('id'=>$value['id'],'status'=>0);
            $where=array(
                    'code'=>$value['id'],);
            $data=array(
                    'result_price'=>$value['result_price'],);
            $state=$goods->where($where)->save($data);
            if($state > 0){
                $true .= ";".$value['id'];
            }else{
                $false .= ";".$value['id'];
            }

        }
        echo '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />';
        echo "<script type='text/javascript'>";
        echo "alert('更改成功".$true.";更改失败".$false."');window.location.href='".I('p<a href="https://www.jb51.cc/tag/ara/" target="_blank" class="keywords">ara</a>m.url')."';";
        echo "</script>";
        exit;
    }else{
        echo '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />';
        echo "<script type='text/javascript'>";
        echo "alert('<a href="https://www.jb51.cc/tag/wenjian/" target="_blank" class="keywords">文件</a>读取失败');window.location.href='".I('p<a href="https://www.jb51.cc/tag/ara/" target="_blank" class="keywords">ara</a>m.url')."';";
        echo "</script>";
        exit;
    }
}

}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐