python做网站的好处,建设营销型网站的目的,wordpress 全站静态,国内永久免费域名申请网站php读取excel列数大于Z时读取不到 背景解决方案关键代码 背景
表格数据超过26列#xff0c; 也就是在Z列之前没有AA列及以后的情况#xff0c; 测试一直都没有问题#xff0c;超过#xff0c;就会获取不到数据了
解决方案
private function getExcelData(){//获取excel文… php读取excel列数大于Z时读取不到 背景解决方案关键代码 背景
表格数据超过26列 也就是在Z列之前没有AA列及以后的情况 测试一直都没有问题超过就会获取不到数据了
解决方案
private function getExcelData(){//获取excel文件$file $_FILES[poily][tmp_name];//实例化excel处理类$PHPReader new \PHPExcel_Reader_Excel2007();if (!$PHPReader-canRead($file)) {$PHPReader new \PHPExcel_Reader_Excel5();if (!$PHPReader-canRead($file)) {return false;}}$PHPExcel $PHPReader-load($file);$currentSheet $PHPExcel-getSheet(0);//读取第一个工作表$allRow $currentSheet-getHighestRow();//取得一共有多少行//这两段很重要$allColumn $currentSheet-getHighestColumn();//取得最大的列号$allColumn \PHPExcel_Cell::columnIndexFromString($allColumn);//将列数转换为数字 列数大于Z的必须转 A-1 AA-27$arr [];//从第一行开始读 第一行为标题for ($currentRow 1; $currentRow $allRow; $currentRow) {//从第A列开始输出for ($currentColumn 0; $currentColumn $allColumn; $currentColumn) {//plan 1//$strColumn \PHPExcel_Cell::stringFromColumnIndex($currentColumn);//将数字转换为字母 0-A 26-AA//$val $currentSheet-getCell($strColumn.$currentRow)-getValue();//plan 2$val $currentSheet-getCellByColumnAndRow($currentColumn, $currentRow)-getValue();//如果输出汉字有乱码则需将输出内容用iconv函数进行编码转换如下将gb2312编码转为utf-8编码输出 $arr[$currentRow][] iconv(utf-8,gb2312, $val).t;//将每列内容读取到数组中$arr[$currentRow][] trim($val);}}//删除全部为空的行foreach ($arr as $key $vals) {$tmp ;foreach ($vals as $v) {$tmp . $v;}if (!$tmp) unset($arr[$key]);}return $arr;}
关键代码
PHPExcel_Cell::columnIndexFromString($allColumn) //将列数转换为数字 列数大于Z的必须转 A-1 AA-27