thinkphp에서 PHPExcel을 사용하여 Excel을 가져오는 방법

풀어 주다: 2020-05-13 09:06:23
앞으로
4454명이 탐색했습니다.

thinkphp에서 PHPExcel을 사용하여 Excel을 가져오는 방법

thinkphp가 Excel을 가져오는 방법 소개:

개발 아이디어

1. 먼저 Excel 파일을 서버에 업로드하세요

2. 서버 Excel 파일의 내용을 가져옵니다

3. 1. PHP와 함께 제공되는 업로드 메소드 "ThinkUpload();"를 사용하여 쉽게 구현할 수 있는 Excel 파일을 업로드합니다. 이런 이유로 이 방법을 사용하는 가장 간단한 방법을 정리했습니다

/**
 * TODO 上传文件方法
 * @param $fileid form表单file的name值
 * @param $dir 上传到uploads目录的$dir文件夹里
 * @param int $maxsize 最大上传限制,默认1024000 byte
 * @param array $exts 允许上传文件类型 默认array('gif','jpg','jpeg','bmp','png')
 * @return array 返回array,失败status=0 成功status=1,filepath=newspost/2014-9-9/a.jpg
 */
function uploadfile($fileid,$dir,$maxsize=5242880,$exts=array('gif','jpg','jpeg','bmp','png'),$maxwidth=430){
    $upload = new \Think\Upload();// 实例化上传类
    $upload->maxSize   =     $maxsize;// 设置附件上传大小,单位字节(微信图片限制1M
    $upload->exts      =     $exts;// 设置附件上传类型
    $upload->rootPath  =     './uploads/'; // 设置附件上传根目录
    $upload->savePath  =     $dir.'/'; // 设置附件上传(子)目录
    // 上传文件
    $info   =   $upload->upload();

    if(!$info) {// 上传错误提示错误信息
        return array(status=>0,msg=>$upload->getError());
    }else{// 上传成功
        return array(status=>1,msg=>'上传成功',filepath=>$info[$fileid]['savepath'].$info[$fileid]['savename']);
    }
}
로그인 후 복사

기본 업로드는 ThinkPHP 항목 파일 index.php가 있는 폴더 업로드이며 이 방법은 데이터를 반환하며 status=1이 성공합니다. 또한 기능적 모듈이나 캡슐화를 사용할 경우 아키텍처 초기 단계에서 전체 시스템이 합의되어야 하며, 필요한 경우 반환 값은 배열 형식이어야 합니다.

반환될 수 있습니다.

return array(status=>1,data=>....,info=>.....)
로그인 후 복사

반환될 수 있습니다. 이 통합된 접근 방식은 팀에서 공동 작업할 때 효율성을 높이고 코드를 볼 때의 사고를 줄이는 데 도움이 됩니다.

array(status->0,info=>'可以说明出错的原因',....)
로그인 후 복사

2. Excel 데이터 가져오기

1. 먼저 PHPExcel 클래스 라이브러리

//excel 文件
        if(!empty($_FILES['xls']['name'])){
            $upload=uploadfile('xls','tempxls',5242880,array('xls','xlsx'));
            if($upload['status']){
                $path=$upload['filepath'];
            }else{
                $this->error($upload['msg']);
            }
        }
로그인 후 복사

2를 가져와야 합니다. Excel의 0번째 시트(Sheet1)

require_once 'module/PHPExcel/Classes/PHPExcel/IOFactory.php';
로그인 후 복사

3을 가져옵니다. 행 수를 계산하고 $data 배열

//获取excel文件
$objPHPExcel = \PHPExcel_IOFactory::load("uploads/$path");
$objPHPExcel->setActiveSheetIndex(0);
$sheet0=$objPHPExcel->getSheet(0);
로그인 후 복사

3으로 데이터를 읽습니다. 마지막으로 data

$rowCount=$sheet0->getHighestRow();//excel行数
        $data=array();
        for ($i = 2; $i <= $rowCount; $i++){
            $item[&#39;name&#39;]=$this->getExcelValue($sheet0,&#39;A&#39;.$i);
            $item[&#39;sex&#39;]=$this->getExcelValue($sheet0,&#39;B&#39;.$i);
            $item[&#39;contact&#39;]=$this->getExcelValue($sheet0,&#39;C&#39;.$i);
            $item[&#39;remark&#39;]=$this->getExcelValue($sheet0,&#39;D&#39;.$i);
            $item[&#39;addtime&#39;]=$this->getExcelValue($sheet0,&#39;E&#39;.$i);

            $data[]=$item;
        }
로그인 후 복사
에 저장합니다. 권장 튜토리얼: "

TP5

"

위 내용은 thinkphp에서 PHPExcel을 사용하여 Excel을 가져오는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:cnblogs.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿