[CodeIgniter] 取得 excel 內容

要從 php 讀取 excel 內容後在儲存到資料庫,可以先到 PHPExcel 下載 Lib,然後把 Classes 裡的東西都放到 third_party 裡面,再在 libraries 的資料夾內建一個 Excel.php 的檔案,內容如下:

require_once APPPATH . "/third_party/PHPExcel.php";
class Excel extends PHPExcel {
    public function __construct() {
        parent::__construct();
    }
}

之後讀入 library 和 excel 檔案

$file = 'test.xls';
$this->load->library('excel');
$objPHPExcel = PHPExcel_IOFactory::load($file);


然後把內容拆開來
foreach ($objPHPExcel->getWorksheetIterator() as $worksheet) {
            $worksheetTitle     = $worksheet->getTitle();
            $highestRow         = $worksheet->getHighestRow(); // e.g. 10
            $highestColumn      = $worksheet->getHighestColumn(); // e.g 'F'
  for ($row = 2; $row <= $highestRow; ++ $row) {
                //id
            $cell = $worksheet->getCellByColumnAndRow(0,$row); //取得欄位內容
            $value = $cell->getValue();
  }
}

接著再依序將內容寫入資料庫就可以了。

留言