本来excel表只有三个值,但是读取的56个值,有53个空值,求解释 ,谢谢大神解释
读取后,返回的值:
array(
'SKU' => 'AAAA001',
'SKU' => 'AAAA002',
'SKU' => 'AAAA003',
'SKU' =>
'SKU' =>
....'SKU' => )
读取后,返回的值:
array(
'SKU' => 'AAAA001',
'SKU' => 'AAAA002',
'SKU' => 'AAAA003',
'SKU' =>
'SKU' =>
....'SKU' => )
{
// 引入文件
require_once(Kohana::find_file('vendor', 'PHPExcel/PHPExcel/Reader/Excel5'));
$PHPReader = new PHPExcel_Reader_Excel5();
// 载入文件xls、csv
$PHPExcel = $PHPReader->load($xls);
// 获取表中的第一个工作表,如果要获取第二个,把0改为1,依次类推
$currentSheet = $PHPExcel->getSheet();
$allRow = $currentSheet->getHighestRow(); // 获取总行数
// 循环获取表中的数据,$currentRow表示当前行,从哪行开始读取数据,索引值从0开始
for ($currentRow = 0; $currentRow <= $allRow; $currentRow++) {
// 数据坐标
$address = 'A'.$currentRow;
// 读取到的数据,保存到数组$arr中
$ExlData[$currentRow] = (string)$currentSheet->getCell($address)->getValue();
//富文本转换字符串
/* if($cell instanceof PHPExcel_RichText) {
$ExlData[$currentRow] = $cell->__toString();
}*/
}
array_splice($ExlData,0,2);
unlink($xls);
return $ExlData;
}
我想要的是:array(‘AA001’, 'BB001')
但是返回的是: array(‘AA001’, 'BB001', ,,,,,,,,,,,,,,,,,)这样的数组
求解释
这是删除标题和第一列
过滤就可以了。
private function pullsku_xls ($xls)
{
// 引入文件
require_once(Kohana::find_file('vendor', 'PHPExcel/PHPExcel/Reader/Excel5'));
$PHPReader = new PHPExcel_Reader_Excel5();
// 载入文件xls、csv
$PHPExcel = $PHPReader->load($xls);
// 获取表中的第一个工作表,如果要获取第二个,把0改为1,依次类推
$currentSheet = $PHPExcel->getSheet();
$allRow = $currentSheet->getHighestRow(); // 获取总行数
// 循环获取表中的数据,$currentRow表示当前行,从哪行开始读取数据,索引值从0开始
for ($currentRow = 0; $currentRow <= $allRow; $currentRow++) {
// 数据坐标
$address = 'A'.$currentRow;
// 读取到的数据,保存到数组$arr中
$tmp = (string)$currentSheet->getCell($address)->getValue(); if($tmp){
$ExlData[] = $tmp;
} //富文本转换字符串
/* if($cell instanceof PHPExcel_RichText) {
$ExlData[$currentRow] = $cell->__toString();
}*/
}
array_splice($ExlData,0,2);
unlink($xls);
return $ExlData;
}