我需要阅读的文件.xls
,并把它变成一个数组。我使用laravel-excel包读取Excel文件。
我有这样一个Excel文件:
我需要有一个这样的数组:
[
'9921234567' => 'First Text',
'9929876544' => 'Second Text',
'9927654321' => 'Third Text',
'9928765432' => 'Fourth Text',
]
我迄今为止尝试:
Excel::load('sample.xls', function($reader) {
$reader->dd();
});
问题:
问题是,它读取的第一行作为列!
0 => RowCollection {#619
#title: "Sheet1"
#items: array:3 [
0 => CellCollection {#623
#title: null
#items: array:2 [
9921234567 => 9929876544.0
"first_text" => "Second Text"
]
}
1 => CellCollection {#624
#title: null
#items: array:2 [
9921234567 => 9927654321.0
"first_text" => "Third Text"
]
}
2 => CellCollection {#625
#title: null
#items: array:2 [
9921234567 => 9928765432.0
"first_text" => "Fourth Text"
]
}
]
}
你看,我不想第一行值计算为列名!
任何帮助将是巨大的赞赏。
您在文档链接答案
表头为属性默认情况下,Excel文件的第一行会被用作属性。
您可以更改配置中的默认练成:: import.heading。可用的选项有:真|虚假|猛击| ASCII |数字|散列|反|原创
我从来没有使用过laravel但只是将其设置为false,并检查会发生什么。
您需要环通的每一行。之后,你可以创建自定义的数组,当你环通的所有列
Excel::load('sample.xls', function($reader) {
$reader->each(function($sheet) {
// Loop through all rows
$sheet->each(function($row) {
// Loop through all columns
});
});
})
这是Excel导入只是基本的代码,你需要把它调整到你的榜样。
希望能帮助到你
默认情况下,Excel文件的第一行会被用作属性
所以,我建议使用noHeading
功能:
Excel::load('sample.xls', function($reader) {
$reader->noHeading();
$reader->dd();
});