За последние 24 часа нас посетили 70295 программистов и 1819 роботов. Сейчас ищут 345 программистов ...

PhpSpreadsheet помогите ссылками.

Тема в разделе "Прочие вопросы по PHP", создана пользователем mxmod, 7 янв 2022.

  1. mxmod

    mxmod Новичок

    С нами с:
    5 ноя 2020
    Сообщения:
    4
    Симпатии:
    0
    Здравствуйте, вопрос к тем, кто работает с библиотекой PhpSpreadsheet. Реализовываю экспорт в Excel с помощью библиотеки
    PhpSpreadsheet. Я заметил, что если в setUrl() вставить переменную, то выдаёт ошибку, а если строку, то всё идёт нормально. В интернете решения не нашёл. Кто сталкивался с такой проблемой и находил её решение, то просьба помочь.

    PHP:
    1. <?php
    2. require '../vendor/autoload.php';
    3. use PhpOffice\PhpSpreadsheet\Spreadsheet;
    4. use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
    5. $bd=new Mysqli("localhost", "root", "", "project");
    6. $postnames = $_POST['1'];
    7. $query=$bd->query("SELECT FIO_student, email, date_sign_project, birthday, age, location_user, Educational_organization, FIO_parent, phone_parent, phone_user, link_vk, familiarized, link_motivation, folder_user_project_sign FROM registrationproject WHERE joinNameAndDateProject='$postnames'");
    8. $count=2;
    9. $spreadsheet = new Spreadsheet();
    10.  
    11. while ($result=$query->fetch_assoc()){
    12.    
    13.     $count++;
    14.     $openFolder=opendir("..".$result{'folder_user_project_sign'}."\"");
    15.     while (false !== ($dirFolder=readdir($openFolder))){
    16.       if ($dirFolder!= "." && $dirFolder!= "..") {
    17.           $dirFolder2=$dirFolder;
    18.           $sumdirFolder.= $dirFolder2.', ';
    19.       }
    20. }
    21.  
    22. $sheet = $spreadsheet->getActiveSheet();
    23. $sheet->setCellValue('A'.$count, $result{'FIO_student'});
    24. $sheet->setCellValue('B'.$count, $result{'email'});
    25. $sheet->setCellValue('C'.$count, $result{'phone_user'});
    26. $sheet->setCellValue('D'.$count, $result{'date_sign_project'});
    27. $sheet->setCellValue('E'.$count, $result{'birthday'});
    28. $sheet->setCellValue('F'.$count, $result{'age'});
    29. $sheet->setCellValue('G'.$count, $result{'location_user'});
    30. $sheet->setCellValue('H'.$count, $result{'Educational_organization'});
    31. $sheet->setCellValue('I'.$count, $result{'FIO_parent'});
    32. $sheet->setCellValue('J'.$count, $result{'phone_parent'});
    33. $sheet->setCellValue('K'.$count, $result{'link_vk'});
    34. $sheet->setCellValue('L'.$count, $result{'phone_parent'});
    35. $sheet->setCellValue('M'.$count, $result{'familiarized'});
    36. $sheet->setCellValue('N'.$count, $result{'link_motivation'});
    37. $sheet->setCellValue('O'.$count, $sumdirFolder);
    38. $spreadsheet->getActiveSheet()->setCellValue('K'.$count, $result{'link_vk'});
    39. $spreadsheet->getActiveSheet()->getCell('K'.$count)->getHyperlink()->setUrl($result{'link_vk'});
    40.  
    41. };
    42.  
    43.  
    44. $writer = new Xlsx($spreadsheet);
    45. $writer->save('hello world.xlsx');
    46.     ?>
     
  2. Sail

    Sail Старожил

    С нами с:
    1 ноя 2016
    Сообщения:
    1.460
    Симпатии:
    325
    Какую ошибку?
    --- Добавлено ---
    Заодно проверьте содержимое $result['link_vk'] и сравните с подставляемой "строкой"