Позвольте мне повторить мой вопрос, что я достиг, я использую плагин в laravel maatwebsite-excel v3.1.Я экспортирую красноречивую коллекцию в лист Excel.
В этом коде я пытаюсь создать несколько листов с различным стилем на отдельном листе, я ссылаюсь на веб-сайте плагина, что вбиблиотека, чтобы сделать aftersheet, создана.проверьте эту ссылку (https://laravel -excel.maatwebsite.nl / 3.0 / exports / extending.html )
Код:
use Maatwebsite\Excel\Concerns\FromCollection;
use Maatwebsite\Excel\Concerns\WithHeadings;
use Maatwebsite\Excel\Concerns\WithTitle;
use Maatwebsite\Excel\Concerns\WithEvents;
use Maatwebsite\Excel\Concerns\RegistersEventListeners;
use Maatwebsite\Excel\Events\AfterSheet;
use Maatwebsite\Excel\Events\BeforeWriting;
use Maatwebsite\Excel\Events\BeforeExport;
use Maatwebsite\Excel\Events\BeforeSheet;
use PhpOffice\PhpSpreadsheet\Cell\Coordinate;
class Export implements FromCollection, WithHeadings, WithTitle, WithEvents {
use RegistersEventListeners;
protected static $sheet = '';
public function __construct($sheet) {
self::$sheet = $sheet;
}
// This event function will trigger every time new instance is created.
public static function AfterSheet(AfterSheet $event)
{
if(self::$sheet =='First') {
//Changing cell style
}
if(self::$sheet =='Second') {
//Changing cell style
}
}
}
Звоните по телефону:
$a = new Export('First'); //in the event function it has to echo "title1" but it is echoing "title2"
$b = new Export('Second');
Я не могу получить значение First
в методе события AfterSheet()
в классе.Что я делаю не так?