Laravel, как изменить / отредактировать базу Excel на этом коде? - PullRequest
0 голосов
/ 20 сентября 2018

У меня есть рабочий код в контроллере, как показано ниже, проблема в том, что когда я хотел отредактировать его содержимое, оно не сохраняется.

Контроллер

$rows = Excel::load($file_path, function($reader) use ($column_number)
{
    $reader->takeColumns($column_number);
    $reader->noHeading();

})->get();

$rows = $rows->toArray();

Просмотр содержимого

dump($rows[0][0]); // this will display A1 cell and it is working fine

Но когда я пытаюсь сделать это так

$rows[0][0] = "Test"; // this will not write the cell A1
dump($rows); // but it will display as shown in picture below

enter image description here

Ответы [ 2 ]

0 голосов
/ 20 сентября 2018

Загрузить файл по индексу листа и добавить свои значения

$download_file_name = 'DataFile';
 Excel::selectSheetsByIndex(1)->load($file_path, function($reader) use () {
    $reader->sheet('Sheet1', function($sheet) use () {
        //if you want to add value append single value
        $sheet->SetCellValue("A7", "Exporter");
        //if want to append row
        $sheet->appendRow($dispColArray);                  
                     });
}, 'UTF-8')->setFilename($download_file_name)->download('xls');

Вы также можете использовать следующую функцию для стиля листа

  1. Для стиля листа

    $sheet->setStyle(array(
        'font' => array(
            'name' => 'Calibri',
            'size' => 9,
            'background' => '#ffffff'
        )
    ));
    
  2. Объединить ячейку и дизайн

    $sheet->mergeCells('A1:D4');
    $sheet->cells('A1:D4', function($cells) {
        $cells->setBackground('#ffffff');
    
    });
    
0 голосов
/ 20 сентября 2018

Вы можете изменить значения в Excel Load.

$rows = Excel::load($file_path, function($reader)
{
    $reader->sheet('sheet1', function($sheet){
        $sheet->cells('E4', function($cell) {
            $cell->setValue('my value');
        });
    });     

})->store('xls');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...