在导入excel的时候,单元格格式和公式经常让导入不顺畅。注意phpexcel文档说明,基本上就可以很顺利的导入。
1、忽略单元格格格式,并导入xls、xlsx两种格式
$objReader = PHPExcel_IOFactory::createReaderForFile("abc.xlsx");//xls、xlsx格式都可导入
$objReader->setReadDataOnly(true);//忽略单元格格式
$PHPExcel = $objReader->load("abc.xlsx");
2、忽略公式
$currentSheet = $PHPExcel->getSheet(0);
$val = $currentSheet->getCellByColumnAndRow($column,$currentRow)->getValue();
if(substr($val,0,1) == "="){//判断是不是公式
$val = $currentSheet->getCellByColumnAndRow($column,$currentRow)->getCalculatedValue();
}
3、再插入一点PHPEXCEL跟YII结合的方法
spl_autoload_unregister ( array (
'YiiBase',
'autoload'
) );
$phpExcelPath = Yii::getPathOfAlias ( 'ext.phpexcel' );
include ($phpExcelPath . DIRECTORY_SEPARATOR . 'PHPExcel.php');
spl_autoload_register ( array (
'YiiBase',
'autoload'
) );
$objReader = PHPExcel_IOFactory::createReader ( 'Excel5' ); // 2003格式的
$objReader->setReadDataOnly ( true ); $file_name = $file->tempName;
$objPHPExcel = $objReader->load ( $file_name );
$objWorksheet = $objPHPExcel->getActiveSheet ();