phpexcel不再维护,使用PhpSpreadsheet
安装
composer require phpoffice/phpspreadsheet
例子
class Vcard
{
public function index()
{
$file_name = "1";
$uploadwork = "C:\Users\Administrator\Desktop\城市\二线城市(30个)27575条\\";
$uploadfile = $uploadwork.$file_name.'.xlsx';
$reader = \PHPExcel_IOFactory::createReader('excel2007'); //设置以Excel5格式(Excel97-2003工作簿)
$PHPExcel = $reader->load($uploadfile); // 载入excel文件
$sheet = $PHPExcel->getSheet(0); // 读取第一個工作表
$highestRow = $sheet->getHighestRow(); // 取得总行数
$highestColumm = $sheet->getHighestColumn(); // 取得总列数
$data = [];
for ($row = 2; $row <= $highestRow; $row++) //行号从1开始
{
for ($column = 'A'; $column <= $highestColumm; $column++) //列数是以A列开始
{
if (empty($sheet->getCell($column . $row)->getValue()) == false) {
if (empty($data[$row]) == false) {
$str = $sheet->getCell($column . $row)->getValue();
if (strlen($str)>11) {
$pieces = explode("|", $str);
$data[$row]['mobile'] = $pieces[0];
}else{
$data[$row]['mobile'] = $str;
}
} else {
$data[$row]['name'] = $sheet->getCell($column . $row)->getValue();
}
}
}
}
// dump($data);
$myfile = fopen($uploadwork.$file_name.".vcf", "w") or die("Unable to open file!");
foreach ($data as $key => $value) {
$all_str = $this->make_vcard($value['name'], $value['mobile']);
fwrite($myfile, $all_str);
}
fclose($myfile);
}
}