Поэтому я использую эту команду для экспорта одной детали продукта. При экспорте я также хочу экспортировать заголовок. Итак, как я могу экспортировать как данные, так и заголовок данных?
composer require maatwebsite/excel
В продукте (index.blade.php)
@foreach($products as $product)
<tr>{{$product->name}}</tr>
<tr>{{$product->price}}</tr>
<tr><a href = "{{route('prodcutExport',$product->id)}}">Export Product Detail</></tr>
@endforeach
В ProductController.php
public function export()
{
$products = Product::where('id',1)->get();
return Excel::download(new ProductExport($products), 'patient.xlsx');
}
В ProductExport.php
namespace App\Exports;
use App\Product;
use Maatwebsite\Excel\Concerns\FromCollection;
class ProductExport implements FromCollection
{
public function __construct($products)
{
$this->products = $products;
}
public function collection()
{
return $this->products;
}
public function headings() //How can i export this
{
return [
'Name','Price','Colour','Created At'
]
}
}
@ZakariaAcharki да, я показал свой полный код
Вам нужно добавить WithHeadings
к вашему классу:
namespace App\Exports;
use App\Product;
use Maatwebsite\Excel\Concerns\FromCollection;
use Maatwebsite\Excel\Concerns\WithHeadings;
class ProductExport implements FromQuery, WithHeadings
{
public function __construct($products)
{
$this->products = $products;
}
public function collection()
{
return $this->products;
}
public function headings(): array
{
return [
'Name','Price','Colour','Created At'
]
}
}
и ? что за это? общедоступные заголовки функций () .. это показывает ошибку в этом
Это должно добавить «Заголовки» к экспортируемым данным. разве это не то, что вам нужно?
если вы не возражаете. можете ли вы привести небольшой пример, пожалуйста?
да, я не знаю, почему он показывает ошибку в заголовках общедоступных функций () {}. В нем говорится, что объявление возвращаемого типа должно быть совместимо с withHeadings()->headings():array
Попробуйте с public function headings(): array
увидеть обновленный код.
Не удалось обнаружить ни ReaderType, ни WriterType. Убедитесь, что вы либо передаете допустимое расширение имени файла, либо передаете явный тип.
Покажите нам весь код
ProductExport
класса, пожалуйста.