Как экспортировать массив php в файл excel (.xlsx)? - PullRequest
0 голосов
/ 18 января 2019

В настоящее время я работаю над экспортом php-массива в файл .xlsx. А вот так выглядит массив:

array(9) { [0]=> string(1) "1" [1]=> string(24) "Company" [2]=> string(9) " 12345689" [3]=> string(9) "Name" [4]=> string(1) "4" [5]=> string(26) "careerintern2017@gmail.com"}

Я бы хотел экспортировать этот массив в формат:

id | ent_name | ent_num  | owner | ent_c | email 
-------------------------------------------------------------------------
1  | Company  | 123456789| Name  | 4     | careerintern2017@gmail.com
-------------------------------------------------------------------------

И вот что у меня есть:

$excel_file_path = "ent_info/ent_info_list.xlsx";
$spreadsheet = \PhpOffice\PhpSpreadsheet\IOFactory::load($excel_file_path);
$row_num = $spreadsheet->setActiveSheetIndex(0)->getHighestRow();
$row_num =$row_num+1;
$col_num=0;
$counter=1;
$sheet = $spreadsheet->getActiveSheet();
foreach($array as $data){
    $pos = get_excel_col($col_num).$row_num;
        //$pos = A2, B2, C2 .... (for example)
    $sheet->setCellValue($pos, $data);
    if($counter==6){
        $row_num++;
        $col_num=0;
    }
    $col_num++;
    $counter++;
}
$writer = \PhpOffice\PhpSpreadsheet\IOFactory::createWriter($spreadsheet, "Xlsx");
$writer->save($excel_file_path);  

Тем не менее, после выполнения этого он ничего не показал в файле Excel .xlsx. Чего не хватает выше для записи данных в файл Excel?

1 Ответ

0 голосов
/ 18 января 2019

вы можете попробовать ниже? в соответствии с doc , он извлекает ячейку ($pos) и устанавливает значение.

Убедитесь, что $pos также имеет значение

var_dump($pos);//just to see which cell it is
$spreadsheet->getActiveSheet()
    ->getCell($pos)
    ->setValue('Some value');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...