excel上傳數(shù)據(jù)和圖片的方法

/**

* 加載excel

* @param $filename @字段名字? pcl

* 支持 xls? xlsx

*/

protected function loadGoodsExcel($filename){

? ? vendor("PHPExcel.PHPExcel");

? ? $filePath = $this->checkFile($filename);

? ? $PHPReader = new \PHPExcel_Reader_Excel2007();

? ? if(!$PHPReader->canRead($filePath)){

? ? ? ? $PHPReader = new \PHPExcel_Reader_Excel5();

? ? ? ? if(!$PHPReader->canRead($filePath)){

? ? ? ? ? ? $this->msgErr('no Excel');

? ? ? ? }

}

? ? $PHPExcel = $PHPReader->load($filePath);

? ? //$sheet = $PHPExcel->getSheet(0);

? ? $sheet = $PHPExcel->getActiveSheet();

? ? $sheetData = $sheet ->toArray(null,true,true,true);

? ? $imageFilePath = './upload/'.date('Y-m-d').'/'; //圖片本地存儲的路徑

? ? if (!is_dir($imageFilePath)) {

? ? ? ? mkdir($imageFilePath, 0777, true);

? ? }

? ? //處理圖片

? ? foreach ($sheet->getDrawingCollection() as $img) {

? ? ? ? list($startColumn, $startRow) = \PHPExcel_Cell::coordinateFromString($img->getCoordinates()); //獲取圖片所在行和列

? ? ? ? $imageFileName = $img->getCoordinates() . mt_rand(1000, 9999);

? ? ? ? $img_str = strtolower($img->getExtension());//圖片下標(biāo)都定義為小寫

? ? ? ? switch($img_str) {

? ? ? ? ? ? case 'jpg':

? ? ? ? ? ? case 'jpeg':

? ? ? ? ? ? ? ? $imageFileName .= '.jpeg';

? ? ? ? ? ? ? ? $source = imagecreatefromjpeg($img->getPath());

? ? ? ? ? ? ? ? imagejpeg($source, $imageFilePath.$imageFileName);

? ? ? ? ? ? ? ? break;

? ? ? ? ? ? case 'gif':

? ? ? ? ? ? ? ? $imageFileName .= '.gif';

? ? ? ? ? ? ? ? $source = imagecreatefromgif($img->getPath());

? ? ? ? ? ? ? ? imagejpeg($source, $imageFilePath.$imageFileName);

? ? ? ? ? ? ? ? break;

? ? ? ? ? ? case 'png':

? ? ? ? ? ? ? ? $imageFileName .= '.png';

? ? ? ? ? ? ? ? $source = imagecreatefrompng($img->getPath());

? ? ? ? ? ? ? ? imagejpeg($source, $imageFilePath.$imageFileName);

? ? ? ? ? ? ? ? break;

? ? ? ? }

? ? ? // $startColumn = $this->ABC2decimal($startColumn);

? ? ? ? $sheetData[$startRow][$startColumn] = $imageFilePath . $imageFileName;

? ? }

? ? unset($sheetData[1]);

? ? unset($sheetData[2]);

? ? unset($sheetData[3]);

? ? return $sheetData;

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容