Я думаю (и это только предположение), генерация заголовка не удастся вам здесь.Попробуйте манипулировать вашими данными, чтобы иметь одинаковые индексы для каждого столбца (ПРИМЕЧАНИЕ: КОД НЕПРОВЕРЕН, возможно, вам придется его исправить):
$allCategoryResult= array();
foreach($prices->categories as $category){
$categoryItem = array();
$categoryItem["column1"] = $category->category_code;
$categoryItem["column2"] = $category->category_name;
$categoryItem["column3"] = $category->category_desc;
array_push($allCategoryResult, $categoryItem);
foreach($category->skus as $sku){
$skuItem = array();
$skuItem["column1"] = $sku->sku_info->identifier;
$skuItem["column2"] = $sku->sku_info->item->description;
$skuItem["column3"] = $sku->sku_info->item->item_type->count;
/* We leave that one out for the start
$skuItem["details"] = array();
foreach ($sku->sku_info->details as $details) {
$detailsItem = array();
$detailsItem["detail_code"] = $details->detail_code;
$detailsItem["detail_code2"] = $details->detail_code2;
$detailsItem["detail_specifier"] = $details->detail_specifier;
$skuItem["details"][] = $detailsItem;
}*/
$skuItem["column4"] = get_object_vars($sku->prices);
array_push($allCategoryResult, $skuItem);
}
}
Это должно дать вам массив с такими данными:
Array(
Array(
['column1'] = ...
['column2'] = ...
...
),
Array(
['column1'] = ...
['column2'] = ...
...
)
)
Пожалуйста, сообщите мне, если это изменит ваше превосходство.Это было бы базовое понимание библиотеки, которая поможет нам помочь вам.
Чтобы ответить на ваш комментарий, можно вызвать встроенную функцию phpExcel
для вашего объекта sheet
и excel
.Таким образом, вы можете использовать это для форматирования строки жирным шрифтом:
$sheet->->getStyle('A1:'.$sheet->getHighestColumn().'1')->getFont()->setBold(true);
Пожалуйста, прочитайте phpExcel
, чтобы понять, что на самом деле делает laravel excel
, это вам очень поможет