Прощай, PHPExcel, здравствуй, PhpSpreadsheet: более плавный переход к вашим потребностям в электронных таблицах

Привет, коллеги-разработчики PHP! У меня для вас новости: популярный пакет «phpoffice/phpexcel» удален. Да, я знаю, это облом. Но не волнуйтесь! У нас есть для вас лучшая альтернатива: «phpoffice/phpspreadsheet». Поверьте мне, это реально, когда дело доходит до управления электронными таблицами в PHP. Итак, давайте углубимся и рассмотрим некоторые методы плавного перехода с PHPExcel на PhpSpreadsheet.

Прежде всего, вам необходимо убедиться, что у вас установлен PhpSpreadsheet. Вы можете установить его с помощью Composer, выполнив следующую команду:

composer require phpoffice/phpspreadsheet

После того как PhpSpreadsheet настроен и запущен, давайте рассмотрим некоторые методы, которые вы можете использовать для переноса вашего кода.

  1. Загрузка и сохранение таблиц:

    • PHPExcel:

      $objPHPExcel = PHPExcel_IOFactory::load('path/to/file.xlsx');
      $objPHPExcel->getActiveSheet()->setCellValue('A1', 'Hello World!');
      $objPHPExcel->getActiveSheet()->setTitle('My Sheet');
      $objPHPExcel->getActiveSheet()->setCellValue('A2', 'This is PhpExcel.');
      $objPHPExcel->getActiveSheet()->setCellValue('A3', 'It is deprecated.');
      $objPHPExcel->getActiveSheet()->setCellValue('A4', 'Time to switch!');
      $objPHPExcel->getActiveSheet()->setCellValue('A5', 'Goodbye, PHPExcel!');
      $objPHPExcel->getActiveSheet()->setCellValue('A6', 'Hello, PhpSpreadsheet!');
      $objPHPExcel->getActiveSheet()->setTitle('My New Sheet');
      $objPHPExcel->save('path/to/new_file.xlsx');
    • PhpSpreadsheet:

      use PhpOffice\PhpSpreadsheet\IOFactory;
      use PhpOffice\PhpSpreadsheet\Spreadsheet;
      $spreadsheet = IOFactory::load('path/to/file.xlsx');
      $sheet = $spreadsheet->getActiveSheet();
      $sheet->setCellValue('A1', 'Hello World!');
      $sheet->setTitle('My Sheet');
      $sheet->setCellValue('A2', 'This is PhpSpreadsheet.');
      $sheet->setCellValue('A3', 'It is awesome.');
      $sheet->setCellValue('A4', 'No more PHPExcel!');
      $sheet->setCellValue('A5', 'Hello, PhpSpreadsheet!');
      $sheet->setTitle('My New Sheet');
      $writer = IOFactory::createWriter($spreadsheet, 'Xlsx');
      $writer->save('path/to/new_file.xlsx');
  2. Чтение и запись данных ячейки:

    • PHPExcel:

      $cellValue = $objPHPExcel->getActiveSheet()->getCell('A1')->getValue();
      $objPHPExcel->getActiveSheet()->setCellValue('B1', $cellValue);
    • PhpSpreadsheet:

      $cellValue = $sheet->getCell('A1')->getValue();
      $sheet->setCellValue('B1', $cellValue);
  3. Настройка стилей ячеек:

    • PHPExcel:

      $objPHPExcel->getActiveSheet()->getStyle('A1')->getFont()->setBold(true);
      $objPHPExcel->getActiveSheet()->getStyle('B1')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
    • PhpSpreadsheet:

      $sheet->getStyle('A1')->getFont()->setBold(true);
      $sheet->getStyle('B1')->getAlignment()->setHorizontal(\PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_CENTER);
  4. Работа с формулами:

    • PHPExcel:

      $objPHPExcel->getActiveSheet()->setCellValue('C1', '=SUM(A1:B1)');
    • PhpSpreadsheet:

      $sheet->setCellValue('C1', '=SUM(A1:B1)');

Помните, что это всего лишь несколько примеров, с которых можно начать. PhpSpreadsheet предлагает широкий спектр функций и методов, которые вы можете изучить в официальной документации.

Итак, давайте попрощаемся с PHPExcel и встретим будущее с PhpSpreadsheet. Пришло время обновить ваш код и воспользоваться улучшенными функциями и постоянной поддержкой. Приятного кодирования!