PHP讀取excel檔案資料一般用phpexcel插件,但這個插件目前已經不再維護,改用phpspreadsheet,可以從github上clone。
該插件讀取excel資料還是很友善的,代碼如下:
require_once '.../vendor/phpoffice/phpexcel/Classes/PHPExcel/IOFactory.php';
class ReadExcelController extends Controller
{
private $file_path;
public function actionIndex()
{
$this->file_path = 'test.xlsx';
//讀取excel
$objPHPExcel = \PHPExcel_IOFactory::load($this->file);
//讀取excel檔案中的第一個工作表
$currentSheet = $objPHPExcel->getSheet(0);
//取得最大列數
$column = $currentSheet->getHighestColumn();
//取得最大行數
$row = $currentSheet->getHighestRow();
for($i = 2; $i <= $row; ++$i) {
for ($j = 'A'; $j <= $column; ++$j) {
$data[$i-2][] = $currentSheet->getCell($j.$i)->getValue();
}
}
print_r($data); die;
}
}
檔案引入路徑我是随便寫的,這個主要取決于該程式所在項目中位置。
主要引入PHPExcel_IOFactory()這個類就可以了,最終讀取的資料就儲存在數組$data裡,可以列印驗證,也可以直接存進資料庫。