PHPExcel读取excel转换为数组
1.下载PHPExcel.php
2.将excel转换为数组
require "PHPExcel.php"; function format_excel2array($filePath = '', $sheet = 0) { if (empty($filePath) or !file_exists($filePath)) { die('file not exists'); } $PHPReader = new PHPExcel_Reader_Excel2007(); //建立reader对象 if (!$PHPReader->canRead($filePath)) { $PHPReader = new PHPExcel_Reader_Excel5(); if (!$PHPReader->canRead($filePath)) { echo 'no Excel'; return; } } $PHPExcel = $PHPReader->load($filePath); //建立excel对象 $currentSheet = $PHPExcel->getSheet($sheet); //**读取excel文件中的指定工作表*/ $allColumn = $currentSheet->getHighestColumn(); //**取得最大的列号*/ $allRow = $currentSheet->getHighestRow(); //**取得一共有多少行*/ $data = array(); for ($rowIndex = 1; $rowIndex <= $allRow; $rowIndex++) { //循环读取每个单元格的内容。注意行从1开始,列从A开始 for ($colIndex = 'A'; $colIndex <= $allColumn; $colIndex++) { $addr = $colIndex . $rowIndex; $cell = $currentSheet->getCell($addr)->getValue(); if ($cell instanceof PHPExcel_RichText) { //富文本转换字符串 $cell = $cell->__toString(); } $data[$rowIndex][$colIndex] = $cell; } } return $data; } $filePath = 'test.xlsx'; $data = format_excel2array($filePath); print_r($data); /**定义格式 */ $str = ''; $oldUser = ''; $newUser = ''; foreach ($data as $k => $v) { $oldUser = $data[$k]['A']; $newUser = $data[$k]['B']; $str .= '$arr[\'' . $oldUser . '\']=' . '[\'' . $newUser . '\'];' . "\n"; } /**保存到文件 */ if (file_put_contents("userInfo.txt", $str, FILE_APPEND)) { $filename = "userInfo.txt"; $handle = fopen($filename, "r"); $contents = fread($handle, filesize($filename)); $contents = rtrim($contents, ";"); fclose($handle); } else { exit(json_encode(["status" => "error", "errmsg" => "write failed!"])); }
3.输出数组 :
4.导出文件:
原文: