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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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