下面是输出代码
public function excel($data = [])
{
try {
// 实例化excel类
$objPHPExcel = new PHPExcel();
// 操作第一个工作表
$objPHPExcel->setActiveSheetIndex(0);
// 设置sheet名
$objPHPExcel->getActiveSheet()->setTitle('采购需求表');
// 设置表格宽度
$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(10);
$objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(10);
$objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(10);
$objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(6);
$objPHPExcel->getActiveSheet()->getColumnDimension('E')->setWidth(10);
$objPHPExcel->getActiveSheet()->getColumnDimension('F')->setWidth(10);
$objPHPExcel->getActiveSheet()->getColumnDimension('G')->setWidth(10);
$objPHPExcel->getActiveSheet()->getColumnDimension('H')->setWidth(10);
$objPHPExcel->getActiveSheet()->getColumnDimension('I')->setWidth(10);
$objPHPExcel->getActiveSheet()->getColumnDimension('I')->setWidth(10);
$objPHPExcel->getActiveSheet()->getColumnDimension('J')->setWidth(10);
$objPHPExcel->getActiveSheet()->getColumnDimension('K')->setWidth(15);
$objPHPExcel->getActiveSheet()->getColumnDimension('L')->setWidth(8);
$objPHPExcel->getActiveSheet()->getColumnDimension('M')->setWidth(15);
// 表名文字加粗
$objPHPExcel->getActiveSheet()->getStyle('A1:M1')->getFont()->setBold(true)->setSize(18);
// 列表头文字居中
$objPHPExcel->getActiveSheet()->getStyle('A1:M1')->getAlignment()
->setHorizontal('center');
// 合并
$objPHPExcel->getActiveSheet()->mergeCells('A1:M1');
// 列名赋值
$objPHPExcel->getActiveSheet()->setCellValue('A1', '采购需求明细表');
// 表头文字加粗
$objPHPExcel->getActiveSheet()->getStyle('A2:M2')->getFont()->setBold(true);
// 列表头文字居中
$objPHPExcel->getActiveSheet()->getStyle('A2:M2')->getAlignment()->setHorizontal('center');
$objPHPExcel->getActiveSheet()->setCellValue('A2', '统单日期');
$objPHPExcel->getActiveSheet()->setCellValue('B2', '品种');
$objPHPExcel->getActiveSheet()->setCellValue('C2', '规格');
$objPHPExcel->getActiveSheet()->setCellValue('D2', '单位');
$objPHPExcel->getActiveSheet()->setCellValue('E2', '订单数量');
$objPHPExcel->getActiveSheet()->setCellValue('F2', '库存数量');
$objPHPExcel->getActiveSheet()->setCellValue('G2', '在途数量');
$objPHPExcel->getActiveSheet()->setCellValue('H2', '采购数量');
$objPHPExcel->getActiveSheet()->setCellValue('I2', '辅助单位');
$objPHPExcel->getActiveSheet()->setCellValue('J2', '辅助数量');
$objPHPExcel->getActiveSheet()->setCellValue('K2', '要求到货日期');
$objPHPExcel->getActiveSheet()->setCellValue('L2', '采购员');
$objPHPExcel->getActiveSheet()->setCellValue('M2', '备注');
// 数据起始行
$row_num = 3;
// 向每行单元格插入数据
foreach($data as $value)
{
// 设置单元格数值
$objPHPExcel->getActiveSheet()->setCellValue('A' . $row_num, $value['create_time']);
$objPHPExcel->getActiveSheet()->setCellValue('B' . $row_num, $value['skuname']);
$objPHPExcel->getActiveSheet()->setCellValue('C' . $row_num, $value['spec']);
$objPHPExcel->getActiveSheet()->setCellValue('D' . $row_num, $value['unit']);
$objPHPExcel->getActiveSheet()->setCellValue('E' . $row_num, $value['number']);
$objPHPExcel->getActiveSheet()->setCellValue('F' . $row_num, $value['available_stock']);
$objPHPExcel->getActiveSheet()->setCellValue('G' . $row_num, $value['transport_stock']);
$objPHPExcel->getActiveSheet()->setCellValue('H' . $row_num, $value['purchase_num']);
$objPHPExcel->getActiveSheet()->setCellValue('I' . $row_num, $value['metering_unit']);
$objPHPExcel->getActiveSheet()->setCellValue('J' . $row_num, $value['metering']);
$objPHPExcel->getActiveSheet()->setCellValue('K' . $row_num, $value['delivery_time']);
$objPHPExcel->getActiveSheet()->setCellValue('L' . $row_num, $value['user']);
$objPHPExcel->getActiveSheet()->setCellValue('M' . $row_num, $value['remark']);
$row_num++;
}
$styleThinBlackBorderOutline = array(
'borders' => array(
'allborders' => array( //设置全部边框
'style' => \PHPExcel_Style_Border::BORDER_THIN //粗的是thick
),
),
);
$objPHPExcel->getActiveSheet()->getStyle( 'A1:M'.($row_num-1))->applyFromArray($styleThinBlackBorderOutline);
$outputFileName = '采购需求表_' . time() . '.xls';
$xlsWriter = new PHPExcel_Writer_Excel5($objPHPExcel);
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");
header('Content-Disposition:inline;filename="' . $outputFileName . '"');
header("Content-Transfer-Encoding: binary");
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Pragma: no-cache");
$xlsWriter->save("php://output");
exit;
} catch (\Exception $e) {
$this->error = $e->getMessage();
return false;
}
return true;
}