使用PHPExcel庫

jopen 9年前發布 | 956 次閱讀 PHP

使用前請引入PHPExcel庫

/**

  • 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;
}

}</pre>
使用方法:

$data = [
        '庫房'=>[
            ['庫房編號','庫房名詞',1],
            ['庫房編號','庫房名詞',1],
            ['庫房編號','庫房名詞',1],
            ['庫房編號','庫房名詞',1],
            ['庫房編號','庫房名詞',1],
        ],
        '庫房2'=>[
            ['庫房編號','庫房名詞',1],
            ['庫房編號','庫房名詞',1],
            ['庫房編號','庫房名詞',1],
            ['庫房編號','庫房名詞',1],
            ['庫房編號','庫房名詞',1],
        ],
    ];
    excel_insert($data,'s.xlsx');

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!