童鞋要将客户excel表导入,然后按照电话群发短信,就整了这货……(o^^o)
<?php
namespace app\index\controller;
use \think\Controller;
use PHPExcel_IOFactory;
use PHPExcel;
class Index extends Controller
{
static private $keyWords = '电话';
static private $row = 3; // 最大行数 免的蛋疼货压根没标题
public function open()
{
//获取文件所在目录名
$path = 'public/uploads/excel/20181219/1.xls';
// 兼容多个文件
$file_type = pathinfo($path, PATHINFO_EXTENSION);
switch ($file_type) {
case 'xls':
$objReader = PHPExcel_IOFactory::createReader('Excel5');
break;
case 'xlsx':
$objReader = PHPExcel_IOFactory::createReader('Excel2007');
break;
case 'csv':
$objReader = PHPExcel_IOFactory::createReader('CSV');
break;
default:
die('文件类型错误'); // 报错信息
break;
}
//加载文件 'utf-8'可加可不加 目前没有发现去除会出现问题
$PHPExcel = $objReader->load($path, 'utf-8');
// 转换为数组
$excel_array = $PHPExcel->getsheet(0)->toArray();
$row_num = 0;
// 寻找关键词标题
do {
$row = $excel_array[$row_num];
$title_key = array_search(self::$keyWords, $row,true);
++$row_num;
} while ($title_key === false && $row_num <= self::$row);
--$row_num;
if ($title_key === false) {
die('超过最大行数,依然没有关键词标题');
}
$arr = [];
foreach ($excel_array as $k => $v) {
if ($k > $row_num) {
$arr[] = $v[$title_key];
}
}
var_dump($arr);
}
}