$cellData[]=[];
$cellData[]=[];
$cellData[]=[
'',
'',
//'',
'',
'',
'客户签名:'
];
Excel::create($getmdgdxxhy_dpic['ccs']->title.'-'.date('Ymd',time()),function($excel) use ($cellData,$kn){
$excel->sheet('score', function($sheet) use ($cellData,$kn){
$sheet->rows($cellData)->setWidth(
array(
//调整导出表格单元格宽度
'A' => '15%',
'B' => '22%',
'C' => '22%',
'D' => '20%',
'E' => '7%',
'F' => '7%',
'G' => '7%'
)
)->setFontSize(16);//->setHeight(200);//->setWrapText(true);
// 总金额 高亮显示
//echo ($kn+23);exit;
$sheet->cells('E'.($kn+20), function($cells) {
$cells->setBackground('#87eabd');
$cells->setFontWeight('bold');
//$cells->setFontSize(14);
});
$sheet->cells('F'.($kn+20), function($cells) {
$cells->setBackground('#87eabd');
$cells->setFontWeight('bold');
//$cells->setFontSize(14);
});
$sheet->cells('G'.($kn+20), function($cells) {
$cells->setBackground('#87eabd');
$cells->setFontWeight('bold');
//$cells->setFontSize(14);
});
//第一行到第四行合并单元格
$sheet->mergeCells("B2:H2");
//$sheet->mergeCells("B9:C9");
//$sheet->mergeCells("B11:C11");
foreach($cellData as $i=>$v){
//echo $i.$kn.'/';
$i=$i+1;
if($i>10 && $i<($kn+12)){
$sheet->getStyle('B'.$i)->getAlignment()->setWrapText(true);
$sheet->getStyle('C'.$i)->getAlignment()->setWrapText(true);
$sheet->getStyle('D'.$i)->getAlignment()->setWrapText(true);
//$sheet->getAlignment()->setHeight(100);
}
//$sheet->mergeCells('B'.$i.':C'.$i);
}
//exit;
/*for($i=9;$i<$kn;$i++){
$sheet->mergeCells('B11'.$i.':C11'.$i);
}*/
//第一行标题居中、加粗、设置字符大小
$sheet->cells("A2:G2", function ($cells) {
$cells->setAlignment('center');
$cells->setFontWeight('bold');
$cells->setFontSize(25);
});
//设置边框
$style_array = array(
'borders' => array(
'allborders' => array(
'style' => \PHPExcel_Style_Border::BORDER_THIN
)
)
);
$sheet->getStyle('B11:G'.(11+$kn))->applyFromArray($style_array);
});
})->export('xls');
Article Detail
laravel phpexcel设置单元格
$cellData[]=[]; $cellData[]=[]; $cellData[]=[ '', '', //'', '', '', '客户签名:' ]; E...
之前用就可以显示四周的边框
最近使用的时候发现边框只剩下竖条
下面这种写法只能设置外层边框,想要全部的边框智能一个一个的设置单元格
最后使用了下面的写法
laravel 使用excel 设计表格的样式
单元格合并
Excel 导出使用的是 Maatwebsite/Laravel-Excel 2.1 的 composer 包,Excel 表单元格行列合并同时使用时,后用的将会失效。
Laravel Excel 下载合并单元格
PHPExcel合并与拆分单元格
Laravel 中使用 PhpOffice 复杂样式的Excel 导出
安装
PhpExcel 已停止维护,laravel-excel目前已更新至3.1版本,虽然很方便,但对于复杂样式的Excel导出还是没有太多办法.特别是需要导出给别的软件导入用的,必须要遵循对方的模板的情况…
laravel-excel中使用的是PhpOffice,可以说是PhpExcel的后续版本,提供了非常全面的样式操作. 在laravel下面方便的用户法就是直接先安装laravel-excel,然后使用PhpOffice\PhpSpreadsheet\Spreadsheet来解决复杂的导出.
编程实现
组织
实际应用中,一般是不止导出一种格式的Excel文件的,所以建议建立一个Exports目录,所有导出类都放这里,每一个类负责一种格式导出.
样式
新建一个Spreadsheet 对象,操作excel都靠它了
全局指定的样式(比如字体,对齐,单元格格式)
对单元格操作
不显示网络线
设置列宽
设置行高
合并单元格
拆分
设置单元格内容
换行
设置字体和大小
写入数据
设置边框
设置字体颜色
设置背景色
保存文件
调用
总结
PhpOffice中的api非常的多,写法也很灵活,参数方面和其它api可以参考
PhpSpreadsheet Documentation
PHPExcel 设置excel单元格宽高
针式打印机纸张规格
打印纸的尺寸:(单位CM)
241一等份、二等份、三等份的尺寸分别是:24.1*28、24.1*14、24.1*9.31
120一等份、二等分、三等份的尺寸分别是:12*28、12*14、12*9.31
190一等份、二等分、三等份的尺寸分别是:19*28、19*14、19*9.31
381的尺寸是:38.1*28