這篇文章主要介紹了關于利用PHPEXCEL 導出數據和圖片的代碼,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下
前言圖片對excel來說是一個對象,正常是導出不到單元格里去,所以大家都很困惑到底該怎么使用PHP語言來進行導出呢!下面我就詳細的講解下怎么使用php導出圖片到excel(此例是使用CI框架)
注釋:這個是CI項目的哦,別的框架放到類庫里就行了
上代碼//CI框架引入PHPExcel$this- load- library( PHPExcel //實例化PHPExcel類$objPHPExcel = new PHPExcel();//圖片處理類,這個才是圖片導出的關鍵哦$objDrawing = new PHPExcel_Worksheet_Drawing();//然后正常設置我們導出圖片的代碼$objPHPExcel- createSheet(0);$objPHPExcel- setActiveSheetIndex(0);$html' target='_blank'>currentSheet = $objPHPExcel- getActiveSheet();// 水平居中(位置很重要,建議在最初始位置,這里我舉例,ABCDEFG,可以按照自己的需求定義!~)$objPHPExcel- setActiveSheetIndex(0)- getStyle( A )- getAlignment()- setHorizontal(/PHPExcel_Style_Alignment::HORIZONTAL_CENTER);$objPHPExcel- setActiveSheetIndex(0)- getStyle( B )- getAlignment()- setHorizontal(/PHPExcel_Style_Alignment::HORIZONTAL_CENTER);$objPHPExcel- setActiveSheetIndex(0)- getStyle( C )- getAlignment()- setHorizontal(/PHPExcel_Style_Alignment::HORIZONTAL_CENTER);$objPHPExcel- setActiveSheetIndex(0)- getStyle( D )- getAlignment()- setHorizontal(/PHPExcel_Style_Alignment::HORIZONTAL_CENTER);$objPHPExcel- setActiveSheetIndex(0)- getStyle( E )- getAlignment()- setHorizontal(/PHPExcel_Style_Alignment::HORIZONTAL_CENTER);$objPHPExcel- setActiveSheetIndex(0)- getStyle( F )- getAlignment()- setHorizontal(/PHPExcel_Style_Alignment::HORIZONTAL_CENTER);$objPHPExcel- setActiveSheetIndex(0)- getStyle( G )- getAlignment()- setHorizontal(/PHPExcel_Style_Alignment::HORIZONTAL_CENTER);// 設置個表格寬度(這個一定要設置哦,不然圖片會大廚單元格的)$objPHPExcel- getActiveSheet()- getColumnDimension( A )- setWidth(20);$objPHPExcel- getActiveSheet()- getColumnDimension( B )- setWidth(20);$objPHPExcel- getActiveSheet()- getColumnDimension( C )- setWidth(20);$objPHPExcel- getActiveSheet()- getColumnDimension( D )- setWidth(20);$objPHPExcel- getActiveSheet()- getColumnDimension( E )- setWidth(20);$objPHPExcel- getActiveSheet()- getColumnDimension( F )- setWidth(20);$objPHPExcel- getActiveSheet()- getColumnDimension( G )- setWidth(20);//設置第一行標題$currentSheet- setCellValue( A1 , 序列號 $currentSheet- setCellValue( B1 , 設備ID $currentSheet- setCellValue( C1 , 設備密碼 $currentSheet- setCellValue( D1 , 設備編碼 $currentSheet- setCellValue( E1 , 二維碼 $currentSheet- setCellValue( F1 , 二維碼 $currentSheet- setCellValue( G1 , 二維碼 //定義變量初始化為2,從第二行開始$idx = 2;//開始循環數組數據!~foreach ($devices as $device) { //設置數據所在單元格,我這里把圖片放在E里 $currentSheet- setCellValue( A . $idx, $device[ sequence $currentSheet- setCellValue( B . $idx, $device[ device_unique $currentSheet- setCellValue( C . $idx, $device[ device_pwd $currentSheet- setCellValue( D . $idx, $device[ device_code //設置單元格高度,這個是重點哦 $currentSheet- getRowDimension($idx) - setRowHeight(60) //獲取圖片 $this- load- model( Device_codes_model $codes = $this- Device_codes_model- getOneCodes($id); //開始設置圖片啦~~ $objDrawing- setPath($codes[ code_file // 設置圖片寬度高度 $objDrawing- setHeight(80);//照片高度 $objDrawing- setWidth(80); //照片寬度 /*設置圖片要插入的單元格*/ $objDrawing- setCoordinates( E .$idx); // 圖片偏移距離 $objDrawing- setOffsetX(12); $objDrawing- setOffsetY(12); $objDrawing- setWorksheet($objPHPExcel- getActiveSheet()); $idx++;}//導出excel到表格$sheetWrite = PHPExcel_IOFactory::createWriter($objPHPExcel, Excel2007
以上就是本文的全部內容,希望對大家的學習有所幫助,更多相關內容請關注PHP !
相關推薦:
三種php遞歸函數的實現方法及實現數字的累加
thinkPHP5框架自定義驗證器的實現
以上就是利用PHPEXCEL 導出數據和圖片的代碼的詳細內容,PHP教程
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。
新聞熱點
疑難解答