如何在CodeIgniter 3中使用PHPSpreadsheet从Excel(.xlsx和.xls)文件中读取数据?

时间:2018-02-06 17:41:42

标签: php codeigniter phpspreadsheet

最近在我的一个基于CodeIgniter的项目中,我需要从Excel文件(.xlsx和.xls)中读取数据并将这些数据插入MySQL。不幸的是,之前我没有使用 PHPSpreadsheet (因为我不需要使用Excel :()。

到目前为止,我所做的是从Github下载 PHPSpreadsheet 并将其解压缩到我的 CodeIgniter 项目的根目录。

enter image description here CodeIgniter根目录中的PHPSpreadsheet。

enter image description here PHPSpreadsheet的文件结构。

到目前为止,我已尝试将官方文档示例导入我的CI应用程序:

<?php
    defined('BASEPATH') OR exit('No direct script access allowed');
    use PhpOffice\PhpSpreadsheet\IOFactory;
    class Welcome extends CI_Controller {
       function __construct() {
           parent::__construct();
       }

       public function index()
       {
           $inputFileType = 'Xlsx';
           $inputFileName = 'test.xlsx';
           $reader = \PhpOffice\PhpSpreadsheet\IOFactory::createReader($inputFileType);
    /**  Load $inputFileName to a Spreadsheet Object  **/
          $spreadsheet = $reader->load($inputFileName);
          print_r( $spreadsheet );
    }
}

但它显示以下错误!! enter image description here

有人能告诉我如何在 CodeIgniter 中使用 PHPSpreadsheet 从Excel文件中读取数据并将其存储到MySQL数据库中?

  • 感谢

1 个答案:

答案 0 :(得分:4)

包含PhpSpreadsheet的最简单方法是使用Composer - https://phpspreadsheet.readthedocs.io/en/develop/上的文档说明了如何执行此操作。

否则,您将需要一个PSR4自动加载器来加载您的use语句指定的类或自己包含这些文件。如果您自己包含文件,要阅读Excel文件,您需要包含PhpSpreadsheet / src / PhpSpreadsheet / IOFactory.php