一个超好用的Excel写入封装,使用PHPExcel库

使用前请引入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;
	}
}

使用方法:

 $data = [
        '库房'=>[
            ['库房编号','库房名词',1],
            ['库房编号','库房名词',1],
            ['库房编号','库房名词',1],
            ['库房编号','库房名词',1],
            ['库房编号','库房名词',1],
        ],
        '库房2'=>[
            ['库房编号','库房名词',1],
            ['库房编号','库房名词',1],
            ['库房编号','库房名词',1],
            ['库房编号','库房名词',1],
            ['库房编号','库房名词',1],
        ],
    ];
    excel_insert($data,'s.xlsx');

转载于:https://my.oschina.net/yanpengquan/blog/507829

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值