laravel从入门到精通之导出excel表格 含科学计数法处理

 

1:创建导出文件,传入数据

$cover = [

['第','一','行'],

['第','二','410000000000000000'.'\t'],//防止数字过长导致格式乱码 例如身份证需在字段后加+'\t'或空格(不建议空格)

['第','三','行'],

['',' ',''],//空白行,用于分页打印分割内容,如果不填则会连在一起无法分页

];

 

表格格式先按照数组格式存储,样式在后续调整

Excel::create(iconv('UTF-8','GBK', '申请材料'), function ($excel) use ($cover) {

    $excel->sheet('score', function ($sheet)use ($cover) {

        $sheet->rows($cover,true); //加上true可以防止数字过长引起的科学记数法

//后续操作写在此处

          });

})->export('xls');

2:表格样式和部分功能

设置宽度:

$sheet->setWidth(array( 'A' => 16,'B' => 64));

设置高度:

$sheet->setHeight(array(
    ($i * 20 + 1) => 40,//设置每行的高度
    ($i * 20 + 2) => 40,

));

设置单元格字体样式:

$sheet->cells('A1 :A20'), function ($cells) {

$cells->setFontSize(16);//字体大小

$cells->setFontFamily('simsun');//字体样式

$cells->setValignment('center');//字体垂直居中

$cells->setAlignment('center');//字体水平居中

$cells->setBorder('none','thin', 'none', 'thin');//设置表格边框

});

设置打印时页面边距

$sheet->setPageMargin(array(

    0.8, 0, 0, 0.4));

打印导出图片到文档

$card_id= $cover [3][1] ;//获取到图片数据

$img = DB::select( );//查询图片名

$src = $img[0]->photopath;

if (@getimagesize(storage_path() . '/photo/' . $src) == null) {
    $src = 'error.jpg';

}//判断是否存在图片,不存在则返回错误图片名称

if (sizeof($img) > 0) {
    /*实例化插入图片类*/
    $objDrawing = new PHPExcel_Worksheet_Drawing();
    /*设置图片路径 切记:只能是本地图片*/
    $objDrawing->setPath(storage_path(). '/photo/' . $src);
    /*设置图片高度*/
    $objDrawing->setHeight(120);
    $objDrawing->setWidth(120);
    /*设置图片要插入的单元格*/
    $objDrawing->setCoordinates('I2');
    $objDrawing->setWorksheet($sheet);

}

设置分页打印区域

$print_area= '';

$print_area= $print_area . 'A' . ($i * 23 + 1) . ':I' . ($i * 23 + 22) . ',';//循环生成需打印的内容'A1:B2,A3:B4,'

$print_area= substr($print_area,0,strlen($print_area)-1);//以字符串形式传入打印区域

$sheet->setPrintArea($print_area);

合并单元格

$sheet->mergeCells('A1:B2');

表格换行

$sheet->getStyle('H' . ($i * 29 + 2))->getAlignment()->setWrapText(true);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章