php读取excel时数据少时可以读取到,当excel列数超过a-z 时 例如aa ab 时读取不到
public function format_excel2array($filePath='',$sheet=0){
// $phpexcel = new \PHPExcel();
if(empty($filePath) or !file_exists($filePath)){die('file not exists');}
$PHPReader = new \PHPExcel_Reader_Excel2007(); //建立reader对象
if(!$PHPReader->canRead($filePath)){
$PHPReader = new PHPExcel_Reader_Excel5();
if(!$PHPReader->canRead($filePath)){
echo 'no Excel';
return ;
}
}
$PHPExcel = $PHPReader->load($filePath); //建立excel对象
$currentSheet = $PHPExcel->getSheet($sheet); //**读取excel文件中的指定工作表*/
$allColumn = $currentSheet->getHighestColumn(); //**取得最大的列号*/
$allRow = $currentSheet->getHighestRow(); //**取得一共有多少行*/
// print_r($allColumn);
// print_r($allRow);
$data = array();
for($rowIndex=1;$rowIndex<=$allRow;$rowIndex++){
//循环读取每个单元格的内容。注意行从1开始,列从A开始
for($colIndex='A';$colIndex<=$allColumn;$colIndex++){
$addr = $colIndex.$rowIndex;
$cell = $currentSheet->getCell($addr)->getValue();
if($cell instanceof PHPExcel_RichText){ //富文本转换字符串
$cell = $cell->__toString();
}
//print_r($cell);
$data[$rowIndex][] = $cell;
}
}
foreach ($data as $key => $value) {
if($data[$key]['0']==''){
unset($data[$key]);
}
for ($i=0; $i <count($value); $i++) {
if($data[$key][$i]==''){
unset($data[$key][$i]);
}
}
}
print_r($data);
//print_r($data);
return $data;
}
public function format_excel2array($filePath='',$sheet=0){
// $phpexcel = new \PHPExcel();
if(empty($filePath) or !file_exists($filePath)){die('file not exists');}
$PHPReader = new \PHPExcel_Reader_Excel2007(); //建立reader对象
if(!$PHPReader->canRead($filePath)){
$PHPReader = new PHPExcel_Reader_Excel5();
if(!$PHPReader->canRead($filePath)){
echo 'no Excel';
return ;
}
}
$PHPExcel = $PHPReader->load($filePath); //建立excel对象
$currentSheet = $PHPExcel->getSheet($sheet); //**读取excel文件中的指定工作表*/
$allColumn = $currentSheet->getHighestColumn(); //**取得最大的列号*/
$allRow = $currentSheet->getHighestRow(); //**取得一共有多少行*/
// print_r($allColumn);
// print_r($allRow);
$data = array();
for($rowIndex=1;$rowIndex<=$allRow;$rowIndex++){
//循环读取每个单元格的内容。注意行从1开始,列从A开始
for($colIndex='A';$colIndex<=$allColumn;$colIndex++){
$addr = $colIndex.$rowIndex;
$cell = $currentSheet->getCell($addr)->getValue();
if($cell instanceof PHPExcel_RichText){ //富文本转换字符串
$cell = $cell->__toString();
}
//print_r($cell);
$data[$rowIndex][] = $cell;
}
}
foreach ($data as $key => $value) {
if($data[$key]['0']==''){
unset($data[$key]);
}
for ($i=0; $i <count($value); $i++) {
if($data[$key][$i]==''){
unset($data[$key][$i]);
}
}
}
print_r($data);
//print_r($data);
return $data;
}
解决方案 »
- 我很想知道PEAR用在什么地方
- 急聘PHP高级工程师 管理员手下留情
- GPRs定位网站
- 高手们,推荐几本PHP的书吧!
- Java#php交流高级群,诚邀各位加入 群号85224385
- 屏蔽国内IP,访问需要进行身份验证
- linux 下 php的mysql扩展编译成功 显示mysql support yes 下面一切顺利 但是页面上却call undefined functio
- 用DEDECMS做了个网站,今天又来散分了....
- 公交车站点查询
- thinkphp关于图片路径问题
- 我们现在在做类似于旅游网站的项目,在后台的运营支撑平台里,根据 PM 的需求,对某东西设置价格,可能每个月、每一天的价格是不同的,我想知道数据怎么保存比较合理
- discuz!7.2如何将首页帖子列表链接变为静态链接?
public static function import($path){
$excelReader = PHPExcel_IOFactory::createReader('Excel2007');
//载入文件并获取第一个sheet
$phpexcel = $excelReader->load($path)->getSheet(0);
//总行数
$total_line = $phpexcel->getHighestRow();
if($total_line == 0){
return'导入文件的内容不能为空';
}
//总列数
$total_column = $phpexcel->getHighestColumn();
// 组合数据
$dataArray = array();
for($row = 2; $row <= $total_line; $row++) {
$data = array();
for($column = 'A'; $column <= $total_column; $column++) {
$data[] = trim($phpexcel->getCell($column.$row)->getValue());
}
$dataArray[]=$data;
}
return $dataArray;
}