|
|
@@ -65,7 +65,7 @@ class CsController extends PublicController
|
|
|
$formatData = [];
|
|
|
|
|
|
foreach ($data as $key => $class) {
|
|
|
- $name = "【{$class['className']}】" ?? '';
|
|
|
+ $name = $class['className'] ?? '';
|
|
|
$formatData[] = ['name' => $name, 'price' => ''];
|
|
|
if (isset($class['child']) && !empty($class['child'])) {
|
|
|
foreach ($class['child'] as $cKey => $child) {
|
|
|
@@ -79,7 +79,6 @@ class CsController extends PublicController
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-
|
|
|
$phpExcelFile = Yii::getAlias("@vendor/phpoffice/phpexcel/");
|
|
|
require_once($phpExcelFile . 'Classes/PHPExcel.php');
|
|
|
|
|
|
@@ -93,36 +92,45 @@ class CsController extends PublicController
|
|
|
->setKeywords("office 2007 openxml php")
|
|
|
->setCategory("Test result file");
|
|
|
|
|
|
- $i = 1;
|
|
|
- foreach ($formatData as $key => $product) {
|
|
|
-
|
|
|
-
|
|
|
-// $objPHPExcel->setActiveSheetIndex(0)//表头的信息
|
|
|
-// ->setCellValue('A1', "编号")
|
|
|
-// ->setCellValue('B1', "所属上级")
|
|
|
-// ->setCellValue('C1', "路由名称")
|
|
|
-// ->setCellValue('D1', "菜单标题")
|
|
|
-// ->setCellValue('E1', "状态");
|
|
|
-// $i = 2;
|
|
|
|
|
|
+ $objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(12);
|
|
|
+ $objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(4);
|
|
|
|
|
|
+ $objPHPExcel->getActiveSheet()->getHeaderFooter()->setOddHeader(date('n月j日')." 价格表");
|
|
|
|
|
|
+ $objPHPExcel->getActiveSheet()->getPageMargins()->setTop(0.4);
|
|
|
+ $objPHPExcel->getActiveSheet()->getPageMargins()->setBottom(0);
|
|
|
+ $objPHPExcel->getActiveSheet()->getPageMargins()->setLeft(0);
|
|
|
+ $objPHPExcel->getActiveSheet()->getPageMargins()->setRight(0);
|
|
|
+ $objPHPExcel->getActiveSheet()->getPageMargins()->setHeader(0.1);
|
|
|
+ $objPHPExcel->getActiveSheet()->getPageMargins()->setFooter(0);
|
|
|
|
|
|
+ //设置边框
|
|
|
+ $objPHPExcel->getActiveSheet()->getStyle('A1:B212')->applyFromArray(array('borders' => array('allborders' => array('style' => \PHPExcel_Style_Border::BORDER_THIN),)));
|
|
|
|
|
|
- $objPHPExcel->getActiveSheet()// 设置第一个内置表(一个xls文件里可以有多个表)为活动的
|
|
|
- ->setCellValue('A' . $i, $product['name'])//给表的单元格设置数据
|
|
|
- ->setCellValue('B' . $i, $product['price']);//数据格式可以为字符串
|
|
|
+ $i = 1;
|
|
|
+ foreach ($formatData as $key => $product) {
|
|
|
+ if(isset($product['price']) == false || empty($product['price'])){
|
|
|
+ //没有价格的合并单元格
|
|
|
+ $objPHPExcel->getActiveSheet()->mergeCells("A{$i}:B{$i}")->setCellValue('A' . $i, $product['name']);
|
|
|
+ //加粗
|
|
|
+ $objPHPExcel->getActiveSheet()->getStyle('A' . $i)->getFont()->setBold(true);
|
|
|
+ //居中
|
|
|
+ $objPHPExcel->getActiveSheet()->getStyle('A' . $i)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
|
|
|
+ }else{
|
|
|
+ $objPHPExcel->getActiveSheet()->setCellValue('A' . $i, $product['name'])->setCellValue('B' . $i, $product['price']);
|
|
|
+ }
|
|
|
$i++;
|
|
|
-
|
|
|
-
|
|
|
}
|
|
|
|
|
|
- $objPHPExcel->getActiveSheet()->setTitle('Simple');
|
|
|
+ $objPHPExcel->getActiveSheet()->setTitle('价格表');
|
|
|
|
|
|
$objPHPExcel->setActiveSheetIndex(0);
|
|
|
|
|
|
+ $date = date('n月j日');
|
|
|
+
|
|
|
header('Content-Type: application/vnd.ms-excel');
|
|
|
- header('Content-Disposition: attachment;filename="01simple.xls"');
|
|
|
+ header('Content-Disposition: attachment;filename="'.$date.'.xls"');
|
|
|
header('Cache-Control: max-age=0');
|
|
|
|
|
|
header('Cache-Control: max-age=1');
|