laravel excel 導出表格


1:創建導出文件,傳入數據

$cover = [

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

['第','二','410000000000000000'.''],//防止數字過長導致格式亂碼 例如身份證需在字段后加空格

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

['',' ',''],//空白行,用於分頁打印分割內容,如果不填則會連在一起無法分頁

];

 

表格格式先按照數組格式存儲,樣式在后續調整

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

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

        $sheet->rows($cover);

//后續操作寫在此處

          });

})->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');


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM