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里,可以打印验证,也可以直接存进数据库。