安装
composer require phpoffice/phpspreadsheet
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
use PhpOffice\PhpSpreadsheet\Style\Border;
$spreadsheet = new Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();
//从65开,65是第1列,66是第二列,2是第二行
$sheet->setCellValue(strtoupper(chr(65)) . '1', '大得');
$sheet->setCellValue(strtoupper(chr(66)) . '1', '大得');
$sheet->setCellValue(strtoupper(chr(66)) . '2', '大2');
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename=/www/wwwroot/swoole/erp-test-zhoao2/excel/666.xlsx"');
header('Cache-Control: max-age=0');
$writer = new Xlsx($spreadsheet);
$date = date("Ymd");
$Absolute_Path=$_SERVER['SCRIPT_FILENAME'];
$user_path = substr($Absolute_Path,0,-9)."storage/cdjdade/{$date}";//保存路径
if(!is_dir($user_path)){
mkdir($user_path);
}
$writer->save($user_path.'/666.xlsx');
//删除清空:
$spreadsheet->disconnectWorksheets();
unset($spreadsheet);
报错Invalid cell coordinate [1,下标超过26个字母
$spreadsheet = new Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();
$sheet->setCellValue(strtoupper(chr(65)) . '1', '部门');
$sheet->setCellValue(strtoupper(chr(66)) . '1', '员工');
$sheet->setCellValue(strtoupper(chr(67)) . '1', '入职日期');
$sheet->setCellValue(strtoupper(chr(68)) . '1', '岗位');
$sheet->setCellValue(strtoupper(chr(69)) . '1', '职位');
for ($i=1;$i<=$day;$i++){
$s = round(69+$i);
if($s<91){
$sheet->setCellValue(strtoupper(chr($s)) . '1', $i);
}else{
//超过26个字母,在此超过B
$s = $s-26;
$sheet->setCellValue(chr(ord("A")).strtoupper(chr($s)) . '1', $i);
}
}
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename=/www/wwwroot/swoole/erp-test-zhoao2/excel/666.xlsx"');
header('Cache-Control: max-age=0');
$writer = new Xlsx($spreadsheet);
$date = date("Ymd");
$Absolute_Path=$_SERVER['SCRIPT_FILENAME'];
$user_path = substr($Absolute_Path,0,-9)."storage/cdjdade/{$date}";//保存路径
if(!is_dir($user_path)){
mkdir($user_path);
}
$dates = date("YmdHis");
$writer->save($user_path."/$dates.xlsx");
//删除清空:
$spreadsheet->disconnectWorksheets();
unset($spreadsheet);
样式