第一步:我们要去官网下载phpexcel类文件。
第二步:我们要先自己模拟一个xlsx格式的文件。
我这里就新建一个123.xlsx文件。注意,文件名最好不要使用中文,如果是中文的话,建议先重命名成英文文件名。
有朋友会问问什么不用中文,因为程序遇到中文总会出现一些意想不到的问题,比如乱码就是很头疼的事情。
第三步:我们直接看看在代码中,是怎么实现php导入excel的。
header("Content-type:text/html;charset=utf-8"); // 设置字符编码
require_once './phpexcel/PHPExcel.php'; // 引入phpexcel库文件
$filename = './123.xlsx'; // 文件地址
$PHPExcel = \PHPExcel_IOFactory::load($filename);// 读取excel文件
$currentSheet = $PHPExcel->getSheet(0); // 第一个sheet
$col = $currentSheet->getHighestColumn(); // 取得总列数
$row = $currentSheet->getHighestRow(); // 取得总行数
$arr = array();
for ($currentRow = 1; $currentRow <= $row; $currentRow++) {
for ($currentColumn = 'A'; $currentColumn <= $col; $currentColumn++) {
$arr[$currentRow][] .= $currentSheet->getCellByColumnAndRow(ord($currentColumn) - 65, $currentRow)->getValue();
}
}
print_r($arr);
输出之后的效果:
Array
(
[1] => Array
(
[0] => 小明
[1] => 18012345678
[2] => 安徽
[3] => 18
)
[2] => Array
(
[0] => 小黑
[1] => 13212345678
[2] => 北京
[3] => 20
)
[3] => Array
(
[0] => 小华
[1] => 15252341235
[2] => 上海
[3] => 32
)
[4] => Array
(
[0] => 小白
[1] => 18112345678
[2] => 江苏
[3] => 21
)
[5] => Array
(
[0] => 小红
[1] => 13312345678
[2] => 福建
[3] => 19
)
)
值得注意的是:
ord($currentColumn) - 65
在这里你要转化一下ASCII值,不然你读取不到第二列的值。
通过上面的几行代码,可以轻松的实现php导入excel的功能。