1.導(dǎo)出excel表(Thinkphp)
/**
* 導(dǎo)出excel表
* @param string $fileTitle 生成文件名稱
* @param string $title 名稱
* @return [type] [description]
*/
function newImportExcelData($fileName,$title,$valueArray='',$tableTopArray=''){
//require_once(dirname(__FILE__).'/phpexcel/PHPExcel.php');
//
vendor('phpexcel.PHPExcel');
$objPHPExcel = new \PHPExcel();
// work start
$objPHPExcel->setActiveSheetIndex(0);
$objPHPExcel->getActiveSheet()->setTitle($title);
$objPHPExcel->getActiveSheet()->getProtection()->setSheet(true); // Needs to be set to true in order to enable any worksheet protection!
//$objPHPExcel->getActiveSheet()->protectCells('A3:E13', 'PHPExcel');
// 處理表格開始
// 表格頭
$cols = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
$num = 1; // execl從1開始
foreach ($tableTopArray as $k => $v) {
$key_i = $cols{$k}.$num;
$objPHPExcel->getActiveSheet()->setCellValue($key_i,$v); // 設(shè)置第一行為表頭
$objPHPExcel->getActiveSheet()->getStyle($key_i)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER); // 第一行全部居中
$objPHPExcel->getActiveSheet()->getStyle($key_i)->getFont()->setBold(true); // 第一行字體加粗
$objPHPExcel->getActiveSheet()->getColumnDimension($key_i)->setAutoSize(true);
}
// 設(shè)置數(shù)據(jù),表格具體數(shù)據(jù)
foreach ($valueArray as $k => $v) {
$i = $k+2;
$j = 0;
foreach ($v as $value) {
$objPHPExcel->getActiveSheet()->setCellValue($cols{$j} . $i, $value);
$j++;
}
}
// 處理表格結(jié)束
header('Content-Type: application/vnd.ms-excel');
header("Content-Disposition: attachment;filename=".$fileName.".xls");
header('Cache-Control: max-age=0');
$objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');
exit;
}