个人总结的php excel导入功能
贴出主要代码:
/**
* @Author: 小枫哥
* @Date: 2018-12-21 10:40:10
* @Param: $HighestColumn |列数; $HighestRow |行数; $sheettmp |当前活动sheet对象
* @Last Modified time: 2018-12-21 12:41:09
* @notice:此方法只适用于phpexcel搭配使用
*/
static function importExcel($tmp_file,$name,$size){
include_once ROOT_PATH.\'phpexcel/PHPExcel.php\';
// 判断Excel文件版本类型
$excelType = PHPExcel_IOFactory::identify( $tmp_file );
if ($excelType == \'Excel5\'){
include_once ROOT_PATH.\'PHPexcel/PHPExcel/Reader/Excel5.php\';
include_once ROOT_PATH.\'phpexcel/PHPExcel/Writer/Excel5.php\';
}else if ($excelType == \'Excel2007\')
{
include_once ROOT_PATH.\'PHPexcel/PHPExcel/Reader/Excel2007.php\';
include_once ROOT_PATH.\'phpexcel/PHPExcel/Writer/Excel2007.php\';
}
// 设置PHPExcel缓存机制
$cacheMethod = PHPExcel_Cached StorageFactory::cache_to_wincache;
$cacheSettings = array( \'cacheTime\' => 600 );
PHPExcel_Settings::setCacheStorageMethod($cacheMethod, $cacheSettings);
//创建一个excel对象和一个reader
$objPHPExcel = new PHPExcel();
$objReader = PHPExcel_IOFactory::createReader ( $excelType );
//读取Excel模板
$objPHPExcel = $objReader->load ( $tmp_file );
$objPHPExcel->setActiveSheetIndex(0);
$sheettmp = $objPHPExcel->getActiveSheet();
$HighestRow = $sheettmp->getHighestColumn(); // 取得总列数
$HighestColumn = $sheettmp->getHighestRow(); // 取得行数
//excel的数据组装成数组
$excelArr=self::excel_toArr($start,$HighestColumn,$HighestRow, $sheettmp);
}
static function excel_toArr($start,$HighestColumn,$HighestRow, $sheettmp){
$Detail = array();
$excellie = array();
$excelArr = array();
$index = 0;
//注意excel中Z之后就是AA,AB,AC,此方法适用与一般的导入
$character = array(\'A\',\'B\',\'C\',\'D\',\'E\',\'F\',\'G\',\'H\',\'I\',\'J\',\'K\',\'L\',\'M\',\'N\',\'O\',\'P\',\'Q\',\'R\',\'S\',\'T\',\'U\',\'V\',\'W\',\'X\',\'Y\',\'Z\');
for ($i=0; $i < 26; $i++) {
if($i < $HighestRow ){
$excellie[] = $character[$i];
}else{
break;
}
}
for ($i = $start; $i < $HighestColumn; $f++){
for($k=0;$k<count($excellie); $k++){
$cell = $sheettmp->getCell($excellie[$k].$i)->getCalculatedValue();
if($cell instanceof PHPExcel_RichText){ //富文本转换字符串
$cell = $cell->__toString();
}
$Detail[] = $cell;
}
$excelArr[$index] = $Detail;
$index++;
}
return $excelArr;
}
继续阅读与本文标签相同的文章
下一篇 :
汇编练习-如何在屏幕上显示二进制数
-
关于5G,大数据告诉你未来物流啥样
2026-05-14栏目: 教程
-
邬贺铨:5G为工业互联网提供可靠的连接
2026-05-14栏目: 教程
-
64%员工对机器的信任超过了对管理者的信任,中印尤其如此
2026-05-14栏目: 教程
-
性能优化之卡顿延迟
2026-05-14栏目: 教程
-
第16问:Filecoin从DSN角度解读
2026-05-14栏目: 教程
