在ThinkPHP框架中,可以使用PHPExcel类库来实现Excel导出计算字段。具体步骤如下:
use PHPExcel;
use PHPExcel_IOFactory;
$objPHPExcel = new PHPExcel();
$objPHPExcel->setActiveSheetIndex(0);
$objPHPExcel->getActiveSheet()->setTitle('Sheet1');
// 设置表头
$objPHPExcel->getActiveSheet()->setCellValue('A1', '编号');
$objPHPExcel->getActiveSheet()->setCellValue('B1', '姓名');
$objPHPExcel->getActiveSheet()->setCellValue('C1', '成绩');
$objPHPExcel->getActiveSheet()->setCellValue('D1', '总分');
// 设置数据
$data = [
['1', '张三', 80],
['2', '李四', 90],
['3', '王五', 85],
];
$num = count($data);
for ($i = 0; $i < $num; $i++) {
$objPHPExcel->getActiveSheet()->setCellValue('A' . ($i + 2), $data[$i][0]);
$objPHPExcel->getActiveSheet()->setCellValue('B' . ($i + 2), $data[$i][1]);
$objPHPExcel->getActiveSheet()->setCellValue('C' . ($i + 2), $data[$i][2]);
// 计算总分
$objPHPExcel->getActiveSheet()->setCellValue('D' . ($i + 2), '=SUM(C' . ($i + 2) . ':C' . ($i + 2) . ')');
}
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="test.xls"');
header('Cache-Control: max-age=0');
$objWriter->save('php://output');
通过以上步骤,就可以实现在ThinkPHP框架中导出带有计算字段的Excel文件了。
关键词:ThinkPHP、PHPExcel、Excel导出、计算字段。