发布时间:2020-08-20 13:25:53编辑:丝画阁阅读(1019)
将列的数字序号转成字母使用,代码如下:
$i=0;
PHPExcel_Cell::stringFromColumnIndex($i);
打印出来。结果是A
将列的字母转成数字序号使用,代码如下:
PHPExcel_Cell::columnIndexFromString('AA');
这个是27.
用这种方法。能解决。这里需要include_once('PHPExcel.class.php');这是当然的。读取和写入excl的方法。请自行上网搜索。有这个类
}
重新整理一下:
if($suffix=="xlsx"){
$reader = \PHPExcel_IOFactory::createReader('Excel2007');
}elseif($suffix=="xls"){
$reader = \PHPExcel_IOFactory::createReader('Excel5');
}else{
ajax_json('请上传EXCEL文件!',2);
}
$objContent = $reader->load($files['tmp_name']);
//$sheetContent = $objContent->getSheet(0)->toArray();
//查询有效站点数量
$sheetnum=$objContent->getSheetCount();
$returnarr = array();
for($i=0;$i<$sheetnum;$i++){
$currentSheet=$objContent->getSheet($i);
//获取总列数
$allColumn=$currentSheet->getHighestColumn();
//获取总行数
$allRow=$currentSheet->getHighestRow();
//容错 sheet获取总列数出错.
if($allColumn !='AD'){
$allColumn='AD';
}
$columnum = \PHPExcel_Cell::columnIndexFromString($allColumn);
//循环获取表中的数据,$currentRow表示当前行,从哪行开始读取数据,索引值从0开始
for($currentRow=2;$currentRow<=$allRow;$currentRow++){
$row = array();
//从哪列开始,A表示第一列
for($currentColumn=0;$currentColumn<$columnum;$currentColumn++){
$currentColumna = \PHPExcel_Cell::stringFromColumnIndex($currentColumn);
//数据坐标
$address=$currentColumna.$currentRow;
//读取到的数据,保存到数组$arr中
$cell =$currentSheet->getCell($address)->getValue();
//$cell = $data[$currentRow][$currentColumn];
if($cell instanceof \PHPExcel_RichText){
$cell = $cell->__toString();
}
if(!empty($cell)){
//对物殊字符过滤
$row[$currentColumna] = $cell;
}else{
$row[$currentColumna] = $cell;
}
}
$returnarr[$i."_".$currentRow] = $row;
}
}
关键字:
下一篇:平台设计模式
本站部分内容来源网络及网友上传,本站未必能一一鉴别其是否为公共版权或其版权归属,如果您认为侵犯您的权利,本站将表示非常抱歉!
请您速联系本站,本站一经核实,立即删除。删文删帖联系【2789291421@qq.com】