php检查excel,如何使用phpexcel检查xls文件是否是可编辑文件?

我有这个输入文件bootstrap:

YFemD.jpg

这个输入文件只接受xls文件,当我发送xls文件时,首先我需要检查php是否只读取文件并返回一个特定的数字,因为我只需要接受可编辑的文件.

我需要的例子:

我发送一个xls文件,在php中检查是否是可编辑文件,如果是可编辑文件,继续下一步,如果不是可编辑文件,则返回3.

这是唯一的读取文件:

OZyuO.jpg

我使用phpexcel,当我发送一个唯一的读取文件时,我有下一个错误:

3JGKU.jpg

这是我在php中的代码:

require "dao/daoExcel.php";

require "vendor/autoload.php";

class ControllerExcel {

private $aDatosExcel;

public function setDataExcel($dataexcel) {

$estado = true;

if($this->moverArchivo($dataexcel)==false){

$estado = false;

}

if($estado == true && $this->validaHeaders($dataexcel)==false){

$estado = false;

return 2;

}

if($estado == true){

return $this->setInsertExcel($dataexcel);

}

}

public function moverArchivo($dataexcel) {

$fileName = $_FILES["archivo"]["name"];

$fileTmpLoc = $_FILES["archivo"]["tmp_name"];

$aHeader = new DaoExcel();

$excelUrl = $aHeader->getHeaderExel($dataexcel);

$pathAndName = $excelUrl[17]['par_valor'].$fileName;

$moveResult = move_uploaded_file($fileTmpLoc, $pathAndName);

if ($moveResult == true) {

return true;

}else{

return false;

}

}

public function validaHeaders($dataexcel){

$inputFileType = 'Excel5';

$aHeader = new DaoExcel();

$excelHead = $aHeader->getHeaderExel($dataexcel);

$inputFileName = $excelHead[17]['par_valor'].$_FILES["archivo"]["name"];

$objReader = PHPExcel_IOFactory::createReader($inputFileType);

$objPHPExcel = $objReader->load($inputFileName);

$h1 = $objPHPExcel->getActiveSheet()->getCell('A1')->getValue();

$h2 = $objPHPExcel->getActiveSheet()->getCell('B1')->getValue();

$h3 = $objPHPExcel->getActiveSheet()->getCell('C1')->getValue();

$h4 = $objPHPExcel->getActiveSheet()->getCell('D1')->getValue();

$h5 = $objPHPExcel->getActiveSheet()->getCell('E1')->getValue();

$header = $h1."###".$h2."###".$h3."###".$h4."###".$h5;

if($excelHead[16]['par_valor'] == $header){

return true;

}else{

return false;

}

}

public function setInsertExcel($dataexcel){

$inputFileType = 'Excel5';

$aHeader = new DaoExcel();

$excelHead = $aHeader->getHeaderExel($dataexcel);

$inputFileName = $excelHead[17]['par_valor'].$_FILES["archivo"]["name"];

$objReader = PHPExcel_IOFactory::createReader($inputFileType);

$objPHPExcel = $objReader->load($inputFileName);

$contRows = $objPHPExcel->setActiveSheetIndex(0)->getHighestRow();

for($i=2;$i<=$contRows;$i++){

$h1 = $objPHPExcel->getActiveSheet()->getCell('A'.$i)->getValue();

$h2 = $objPHPExcel->getActiveSheet()->getCell('B'.$i)->getValue();

$h3 = $objPHPExcel->getActiveSheet()->getCell('C'.$i)->getValue();

$h4 = $objPHPExcel->getActiveSheet()->getCell('D'.$i)->getValue();

$h5 = $objPHPExcel->getActiveSheet()->getCell('E'.$i)->getValue();

$aDatos['ac_no']=$h1;

$aDatos['custom_no']=$h2;

$aDatos['nombre']=$h3;

$aDatos['marc']=$h4;

$aDatos['estado']=$h5;

$aDatos['fecha_registro']=$this->setFecha();

$aDatos['rco_oculto']=0;

$this->aDatosExcel[]=$aDatos;

}

return $aHeader->insertDatosExcel($this->aDatosExcel);

}

private function setFecha(){

date_default_timezone_set("America/Santiago");

$now = time();

putenv("TZ=America/Santiago");

$fecha=date("Y-m-d H:i:s",$now);

$date=date("Y/m/d H:i:s", strtotime($fecha));

return $date;

}

}

?>

所以我看到默认情况下,phpexcel只接受可编辑的文件,但是我如何通过自己检查是否只使用phpexcel读取xls文件,并返回消息?

抱歉,我的英文.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值