這篇文章主要介紹了關(guān)于利用PHPEXCEL 導(dǎo)出數(shù)據(jù)和圖片的代碼,有著一定的參考價(jià)值,現(xiàn)在分享給大家,有需要的朋友可以參考一下
前言圖片對(duì)excel來說是一個(gè)對(duì)象,正常是導(dǎo)出不到單元格里去,所以大家都很困惑到底該怎么使用PHP語言來進(jìn)行導(dǎo)出呢!下面我就詳細(xì)的講解下怎么使用php導(dǎo)出圖片到excel(此例是使用CI框架)
注釋:這個(gè)是CI項(xiàng)目的哦,別的框架放到類庫里就行了
上代碼//CI框架引入PHPExcel$this- load- library( PHPExcel //實(shí)例化PHPExcel類$objPHPExcel = new PHPExcel();//圖片處理類,這個(gè)才是圖片導(dǎo)出的關(guān)鍵哦$objDrawing = new PHPExcel_Worksheet_Drawing();//然后正常設(shè)置我們導(dǎo)出圖片的代碼$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);// 設(shè)置個(gè)表格寬度(這個(gè)一定要設(shè)置哦,不然圖片會(huì)大廚單元格的)$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);//設(shè)置第一行標(biāo)題$currentSheet- setCellValue( A1 , 序列號(hào) $currentSheet- setCellValue( B1 , 設(shè)備ID $currentSheet- setCellValue( C1 , 設(shè)備密碼 $currentSheet- setCellValue( D1 , 設(shè)備編碼 $currentSheet- setCellValue( E1 , 二維碼 $currentSheet- setCellValue( F1 , 二維碼 $currentSheet- setCellValue( G1 , 二維碼 //定義變量初始化為2,從第二行開始$idx = 2;//開始循環(huán)數(shù)組數(shù)據(jù)!~foreach ($devices as $device) { //設(shè)置數(shù)據(jù)所在單元格,我這里把圖片放在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 //設(shè)置單元格高度,這個(gè)是重點(diǎn)哦 $currentSheet- getRowDimension($idx) - setRowHeight(60) //獲取圖片 $this- load- model( Device_codes_model $codes = $this- Device_codes_model- getOneCodes($id); //開始設(shè)置圖片啦~~ $objDrawing- setPath($codes[ code_file // 設(shè)置圖片寬度高度 $objDrawing- setHeight(80);//照片高度 $objDrawing- setWidth(80); //照片寬度 /*設(shè)置圖片要插入的單元格*/ $objDrawing- setCoordinates( E .$idx); // 圖片偏移距離 $objDrawing- setOffsetX(12); $objDrawing- setOffsetY(12); $objDrawing- setWorksheet($objPHPExcel- getActiveSheet()); $idx++;}//導(dǎo)出excel到表格$sheetWrite = PHPExcel_IOFactory::createWriter($objPHPExcel, Excel2007
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,更多相關(guān)內(nèi)容請(qǐng)關(guān)注PHP !
相關(guān)推薦:
三種php遞歸函數(shù)的實(shí)現(xiàn)方法及實(shí)現(xiàn)數(shù)字的累加
thinkPHP5框架自定義驗(yàn)證器的實(shí)現(xiàn)
PHP上傳Excel文件導(dǎo)入數(shù)據(jù)到MySQL數(shù)據(jù)庫
以上就是利用PHPEXCEL 導(dǎo)出數(shù)據(jù)和圖片的代碼的詳細(xì)內(nèi)容,PHP教程
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。
新聞熱點(diǎn)
疑難解答
圖片精選