大家好我正在使用PHPExcel读取xls文件。我正在使用此行从数组中的xls获取数据
$sheetData = $objPHPExcel->getActiveSheet()->toArray(null,true,true,true);
它工作正常,但给我阵列是这样的
Array
(
[1] => Array
(
[A] => category_id (*)
[B] => category_name (*)
[C] => name_en (*)
)
)
正如您所看到的那样,将其放置为字母而不是数字
[A] => category_id (*)
[B] => category_name (*)
[C] => name_en (*)
但我希望我的数组像这样有数字键而不是像
这样的字母 Array
(
[1] => Array
(
[0] => category_id (*)
[1] => category_name (*)
[2] => name_en (*)
)
)
有一种方法可以将此数组转换为数字键
$type = array_values(array_map('array_values', $sheetData));
但我如何使用PHPExcel获取此数组的数据我已经搜索了很多但没有找到任何解决方案。
答案 0 :(得分:2)
将最后一个参数更改为false以获取数字索引
->toArray(null,true,true,false);
答案 1 :(得分:0)
另一种方法:
$input_file_type = PHPExcel_IOFactory::identify($path_to_file);
$obj_reader = PHPExcel_IOFactory::createReader($input_file_type);
$obj_php_excel = $obj_reader->load($path_to_file);
// Get worksheet dimensions
$sheet = $obj_php_excel->getSheet(0);
$highest_row = $sheet->getHighestRow();
$highest_column = $sheet->getHighestColumn();
// Loop through each row of the worksheet in turn
for ($row = 1; $row <= $highest_row; $row++){
// Read a row of data into an array
$row_data = $sheet->rangeToArray('A' . $row . ':' . $highest_column . $row, NULL, TRUE, FALSE);
$excel_data[] = $row_data[0];
}