/** * excel 写入,基于PHPExcel库 * @param array $data * @param $file * @return bool * @throws PHPExcel_Exception * */ function excel_insert(array $data,$file){ // $data = [ // '库房'=>[ // ['库房编号','库房名词',1], // ['库房编号','库房名词',1], // ['库房编号','库房名词',1], // ['库房编号','库房名词',1], // ['库房编号','库房名词',1], // ], // '库房2'=>[ // ['库房编号','库房名词',1], // ['库房编号','库房名词',1], // ['库房编号','库房名词',1], // ['库房编号','库房名词',1], // ['库房编号','库房名词',1], // ], // ]; // excel_insert($data,'s.xlsx'); if(!$data||!$file){ return false; } $sheet_id = 0; //创建excel操作对象 $objPHPExcel = new PHPExcel(); //获得文件属性对象,给下文提供设置资源 $objPHPExcel->getProperties()->setCreator("绵阳市碳素云信息技术有限责任公司") ->setLastModifiedBy("绵阳市碳素云信息技术有限责任公司") ->setTitle("Input_Goods_message") ->setSubject("主题1") ->setDescription("随便一个描述了") ->setKeywords("关键字 用空格分开") ->setCategory("分类 "); for($i=1;$i<count($data);$i++){ $objPHPExcel->addSheet(new PHPExcel_Worksheet($objPHPExcel,'sheet'.$i)); } foreach($data as $sheetName => $sheetData){ $Sheet = $objPHPExcel->setActiveSheetIndex($sheet_id); $Sheet->setTitle($sheetName); $insert_id = 1; foreach($sheetData as $rowData){ if(is_array($rowData)&&$rowData){ foreach($rowData as $id => $cellData){ if(is_numeric($id)&&(is_string($cellData)||is_numeric($cellData))){ $Sheet->setCellValue(chr(65+$id).$insert_id,$cellData); }else{ return false; } } $insert_id++; }else{ return false; } } $sheet_id++; } try{ $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); $objWriter->save($file); }catch (Exception $e){ return false; } }
사용방법:
$data = [ '库房'=>[ ['库房编号','库房名词',1], ['库房编号','库房名词',1], ['库房编号','库房名词',1], ['库房编号','库房名词',1], ['库房编号','库房名词',1], ], '库房2'=>[ ['库房编号','库房名词',1], ['库房编号','库房名词',1], ['库房编号','库房名词',1], ['库房编号','库房名词',1], ['库房编号','库房名词',1], ], ]; excel_insert($data,'s.xlsx');