ThinkPHP5使用PhpOffice PhpSpreadsheet简单实现Excel表格导入功能


官网:https://phpspreadsheet.readthedocs.io/en/stable/

下载链接: https://github.com/PHPOffice/PhpSpreadsheet

推荐使用composer安装 composer repuire phpoffice/phpspreadsheet
use PhpOffice\PhpSpreadsheet\IOFactory;

/**
  *上传方法
  */
public function import()
{
    // 获取表单上传文件
    $file = $this->request->file('file');
    if ($file) {
        $path = ROOT_PATH . 'public' . DS . 'uploads'; // 框架应用根目录/public/uploads/ 目录路径
        $info = $file->move($path);// 移动到这个路径下
        if ($info) {
            $filename = $info->getSaveName(); // 获取上传后保存的文件名称
            $inputFileName = $path . DS . $filename// 文件上传后的文件信息
            $spreadsheet = IOFactory::load($inputFileName); // Load $inputFileName to a Spreadsheet Object
            $sheetData = $spreadsheet->getActiveSheet()->toArray(nulltruetruetrue); // 获取到格式类似于[{"A":...,"B":...},{...}]
            // array_shift($sheetData);// 如果Excel里第一行有标题不使用可以去掉
            foreach ($sheetData as $item) {
               // 在这里进行数据处理
            }
            return 'success';
        } else {
            return $file->getError(); // 上传失败获取错误信息
        }
    }
}

所有原创文章未经本人许可,不得用于商业用途以及传统媒体。网络媒体或个人转载请注明出处和链接,否则属于侵权行为。
本站部分内容收集于互联网,如有侵权内容,请与我们联系,我们会及时删除!
相关推荐

提交评论
0条评论