Создание файла Excel из массива с использованием php и symfony

Я пытаюсь экспортировать массив как файл XLS с помощью PHP и symfony, как показано ниже. После создания файла XLS я могу получить только последнюю строку массива, и он отображается в первой строке моего файла. Кажется, что переменная «lignes» не увеличивается. Я не могу понять, что случилось, может ли кто-нибудь помочь в этом?

foreach ($adresses as $ad ){ $phpExcelObject->setActiveSheetIndex(0)->setCellValue('A' . $lignes, $ad->getId()); $phpExcelObject->setActiveSheetIndex(0)->setCellValue('E' . $lignes, $ad->getTypeVoie()); $phpExcelObject->setActiveSheetIndex(0)->setCellValue('F' . $lignes, $ad->getVoie()); $phpExcelObject->setActiveSheetIndex(0)->setCellValue('G' . $lignes, $ad->getTypeQuartier()); $phpExcelObject->setActiveSheetIndex(0)->setCellValue('H' . $lignes, $ad->getQuartier()); $phpExcelObject->setActiveSheetIndex(0)->setCellValue('I' . $lignes, $ad->getCodePostale()); $phpExcelObject->setActiveSheetIndex(0)->setCellValue('K' . $lignes, $ad->getPays()); $phpExcelObject->setActiveSheetIndex(0)->setCellValue('J' . $lignes, $ad->getVille()); $lignes++; } $writer = $this->get('phpexcel')->createWriter($phpExcelObject, 'Excel2007'); $writer->save($fichier->getWebPathOut() ); 

Код может выглядеть следующим образом. Это рабочий код. Надеюсь, вы получили свой ответ здесь в этом коде. Эта функциональность использует php excel "phpoffice/phpexcel": "^1.8" .

 public function downloadAction(Request $request) { $phoneListId = $request->get('phonelist_id'); $em = $this->getDoctrine()->getManager(); $phoneList = $em->getRepository(PhoneList::class)->find($phoneListId); $phoneNumbers = $phoneList->getPhoneNumbers(); // ask the service for a Excel5 $phpExcelObject = $this->get('phpexcel')->createPHPExcelObject(); $phpExcelObject->getProperties()->setCreator("liuggio") ->setTitle($phoneList->getTitle()) ->setSubject($phoneList->getTitle()); $sheet = $phpExcelObject->setActiveSheetIndex(0); $sheet->setCellValue('A1', 'Name'); $sheet->setCellValue('B1', 'Number'); $sheet->setCellValue('C1', 'Phone Number'); $sheet->setCellValue('D1', 'Designation'); $sheet->setCellValue('E1', 'Office'); $counter = 2; foreach ($phoneNumbers as $phoneNumber) { $sheet->setCellValue('A' . $counter, $phoneNumber->getName()); $sheet->setCellValue('B' . $counter, $phoneNumber->getNumber()); $sheet->setCellValue('C' . $counter, $phoneNumber->getPhoneNumber()); $sheet->setCellValue('D' . $counter, $phoneNumber->getDesignation()); $sheet->setCellValue('E' . $counter, $phoneNumber->getOffice()); $counter++; } $phpExcelObject->getActiveSheet()->setTitle($phoneList->getTitle()); // Set active sheet index to the first sheet, so Excel opens this as the first sheet $phpExcelObject->setActiveSheetIndex(0); // create the writer $writer = $this->get('phpexcel')->createWriter($phpExcelObject, 'Excel5'); // create the response $response = $this->get('phpexcel')->createStreamedResponse($writer); // adding headers $dispositionHeader = $response->headers->makeDisposition( ResponseHeaderBag::DISPOSITION_ATTACHMENT, $phoneList->getTitle() . '.xls' ); $response->headers->set('Content-Type', 'text/vnd.ms-excel; charset=utf-8'); $response->headers->set('Pragma', 'public'); $response->headers->set('Cache-Control', 'maxage=1'); $response->headers->set('Content-Disposition', $dispositionHeader); return $response; } 

Я попробую что-то вроде:

  $lignes = 1; $phpExcelObject->setActiveSheetIndex(0); foreach ($adresses as $ad ){ $phpExcelObject->getActiveSheet() ->setCellValue('A' . $lignes, $ad->getId()) ->setCellValue('E' . $lignes, $ad->getTypeVoie()) ->setCellValue('F' . $lignes, $ad->getVoie()) ->setCellValue('G' . $lignes, $ad->getTypeQuartier()) ->setCellValue('H' . $lignes, $ad->getQuartier()) ->setCellValue('I' . $lignes, $ad->getCodePostale()) ->setCellValue('K' . $lignes, $ad->getPays()) ->setCellValue('J' . $lignes, $ad->getVille()) $lignes++; } $writer = $this->get('phpexcel')->createWriter($phpExcelObject, 'Excel2007'); $writer->save($fichier->getWebPathOut() ); 
  • Как сделать утверждения по содержимому из файла Excel?
  • Пустой файл PHPExcel с использованием liuggio / ExcelBundle в Symfony
  • Облицовка проблемы при попытке создания excel с раскрывающимися списками списков на одном листе
  • Большой импорт Excel в DB очень медленный в Symfony
  • Symfony, PHPExcel не принимает массив даты из базы данных?
  • Interesting Posts

    Range = Range.Value метод переноса видимых ячеек

    Как просмотреть подсчет клиентов по количеству транзакций в OLAP с использованием mdx или как изменить размер и размеры обзора

    Расчет формулы Excel 70

    VB.NET – Чтение ВСЕГО содержимого файла excel

    Показать значение конкретной ячейки в макросе Excel

    Копирование формулы для динамического диапазона

    Функция Excel VBA Loop для всех ячеек

    как объединить столбцы при экспорте из jtable в excel? используя apache POI

    Метод VBS FindNext класса диапазона не выполнен

    Скопировать диапазон папок (с использованием заданных значений) в другую книгу

    Добавление нескольких таблиц на одном листе excel на Tableau

    Преобразование дня года в месяц календаря в високосный год в Excel

    Можно ли использовать средства разработки Office в Visual Studio express

    Как вставить фоновое изображение в отчет Excel в .NET?

    подсчет конкретного текста в сводной таблице

    Давайте будем гением компьютера.