Как установить phpexcel ubuntu
Обновлено: 03.07.2024
PHPExcel — библиотека для создания и чтения данных из файлов формата OpenXML (который используется в MS Excel 2007). С ее помощью можно считывать из файлов, записывать в файлы, форматировать содержимое, работать с формулами и т.д. Для работы PHPExcel требуется версия PHP 5.2 или выше, с установленными библиотеками Zip, XML и GD2.
Установка PHPExcel
Первым делом библиотеку необходимо скачать. Для этого переходим на официальный сайт библиотеки и скачиваем архив PHPExcel-1.7.8.zip. После распаковки мы получим несколько файлов и папок:
- Classes
- Documentation
- Tests
- changelog.txt
- install.txt
- license.txt
Файлы — это различные описания по предыдущим версиям, лицензионное соглашение и очень краткая инструкция по установке. Далее, в папке Classes, содержится непосредственно сама библиотека PHPExcel — эту папку необходимо скопировать в корень нашего скрипта.
В папке Documentation содержится документация по библиотеке на английском языке. В папке Tests — примеры по использованию библиотеки.
Создание Excel-файла
Итак, давайте создадим файл makeexcel.php и начинаем работать с ним. Для начала нам необходимо подключить главный файл библиотеки PHPExcel.php (который находится в папке Classes) и создать объект класса PHPExcel:
Настройки листа книги Excel
Документ Excel состоит из книг, а каждая книга в свою очередь, состоит из листов. Далее лист состоит из набора ячеек, доступ к которым осуществляется по координатам. То есть у нас есть столбцы, которые имеют буквенные имена (А, В, С и т.д) и есть строки, которые пронумерованы. Значит, что бы получить доступ к первой ячейке нужно указать код А1. Точно также мы с помощью библиотеки будем получать доступ к каждой ячейке.
Итак, первым делом необходимо выбрать активный лист, на который мы будем выводить данные и получить объект этого листа:
С помощью метода setActiveSheetIndex(0) указываем индекс (номер) активного листа. Нумерация листов начинается с нуля. Далее с помощью метода getActiveSheet() получаем объект этого активного листа, то есть другими словами получаем доступ к нему для работы. И сохраняем этот объект в переменную $aSheet .
Если Вы захотите указать активным какой то другой лист, то вначале его необходимо создать, при помощи метода:
Затем, по аналогии, указываем индекс и получаем объект активного листа.
Вначале задаем ориентацию листа при помощи метода setOrientation() , которому передаем константу класса PHPExcel_Worksheet_PageSetup :
- ORIENTATION_PORTRAIT — книжная
- ORIENTATION_LANDSCAPE — альбомная
Обратите внимание, что перед методом setOrientation() необходимо вызвать метод getPageSetup() , который предоставляет доступ к настройкам страницы.
Далее вызываем метод SetPaperSize() , который позволяет задать размер страницы для печати. Ему передаем параметром константу PAPERSIZE_A4 класса PHPExcel_Worksheet_PageSetup . Что означает, что размер листа страницы будет установлен А4.
Далее устанавливаем поля документа, то есть отступы от краев документа. Отступы задаются в специальных символьных единицах. Вначале, обратите внимание, вызываем у объекта $aSheet метод getPageMargins() , который вернет объект класса, отвечающего за настройки полей страницы. Затем вызываем методы setTop() , setRight() , setLeft() и setBottom() .
Далее при помощи метода setTitle('Прайс лист') задаем название нашего листа.
Если нужно, можно при печати выводить шапку и подвал листа:
Обратите внимание на передаваемые параметры:
Затем указываем настройки шрифта по умолчанию:
- setName('Arial') — задаем имя шрифта;
- setSize(8) — задаем размер шрифта.
Наполнение документа данными
Для начала давайте зададим ширину столбцов (в символьных единицах), которые нам понадобятся:
Теперь заполним несколько ячеек текстом:
Здесь мы сначала объеденяем ячейки с А1 до E1 при помощи метода mergeCells() , далее задаем высоту строки: вначале получаем доступ к строке 1 при помощи метода getRowDimension('1') , затем задаем высоту — setRowHeight(20) . Далее при помощи метода setCellValue('A1','ТД ТИНКО') , устанавливаем значение ячейки А1.
Далее давайте в ячейку D4 запишем текущую дату:
С помощью констант, определенных в классе PHPExcel_Style_NumberFormat, можно задать формат ячейки: FORMAT_GENERAL (общий), FORMAT_TEXT (текст), FORMAT_NUMBER (число), FORMAT_NUMBER_00 (число с дробной частью), FORMAT_PERCENTAGE (процент), FORMAT_PERCENTAGE_00 (процент с дробной частью) и т.п.Теперь, используя метод setCellValue() , а также цикл while() наполним данными наш прайс-лист:
Стилизация данных
Давайте немного украсим наш прайс-лист, то есть каждой ячейке добавим стилей. Для этого необходимо создать массив со стилями и при помощи метода applyFromArray() , применить этот массив к ячейке (или ячейкам):
Теперь, по аналогии, применим стили к остальным ячейкам:
Сохранение документа
Осталось только сохранить наш документ:
Если нужно вывести документ в браузер
Первый заголовок указывает браузеру тип открываемого контента — это документ формата Excel. Второй — говорит браузеру, что документ необходимо отдать пользователю на скачивание под именем simple.xlsx.
Добавление формул
Формула Excel — это математическое выражение, которое создается для вычисления результата и которое может зависеть от содержимого других ячеек. Формула в ячейке Excel может содержать данные, ссылки на другие ячейки, а также обозначение действий, которые необходимо выполнить.
Использование ссылок на ячейки позволяет пересчитывать результат по формулам, когда происходят изменения содержимого ячеек, включенных в формулы. Формулы Excel начинаются со знака =. Скобки ( ) могут использоваться для определения порядка математических операции.
Примеры формул Excel: =27+36 , =А1+А2-АЗ , =SUM(А1:А5) , =MAX(АЗ:А5) , =(А1+А2)/АЗ .
PHPExcel тоже поддерживает добавление формул в ячейки. Установить формулу можно так:
Чтение Excel-файла
Самый простой вариант — считать все таблицы (на всех листах) и записать данные в трехмерный массив:
Я пытаюсь установить PHPExcel на свой Ubuntu сервер (Ubuntu 12.04.1 LTS-размещенный Amazon EC2).
Я выполнил следующие команды:
Они, кажется, установили здесь PHPExcel:
Я попытался добавить этот путь включения в /etc/php5/cli/php.ini:
Но модуль, похоже, не установлен? Я перезагрузил сервер, apache2 и т. д..
Я боюсь убить свой webserver, случайно попробовав что-то.
еще немного информации:
Мои установленные модули php: (php-m)
apc bcmath bz2, что календарь Основной ctype для curl дата dba dom с ereg в EXIF фильтр fileinfo ftp gd с текстом hash iconv json libxml mbstring mcrypt mhash mysql mysqli openssl pcntl pcre PDO pdo_mysql Фар posix строка чтения Сеанс рефлексии shmop SimpleXML soap розетки SPL стандартный токенизатор sysvmsg sysvsem sysvshm wddx xml объект XmlReader объекта XmlWriter zip zlib
Я в тупике, не знаю, что делать.
Это, вероятно, очень просто для кого-то, кто знает свой путь вокруг php / apache2 и т. д., Но это не я. Я разработчик, только не для этой платформы.
Что мне теперь делать?
2 ответа
У меня возникли проблемы с установкой Passenger на Ubuntu 14.04 LTS для Apache2, и мне было интересно, не мог бы кто-нибудь помочь мне установить Passenger для Apache? Я могу установить Ruby на Rails нормально, но когда я добираюсь до точки, где мне нужно установить/настроить пассажира, это просто.
Я пытаюсь настроить стек LAMP на Ubuntu 14.04 LTS, установив каждый из пакетов отдельно в terminal, а не используя пакеты LAMP software bundle. Ниже приведены команды, которые я выполнил: sudo apt-get install apache2 sudo apt-get install php5 sudo apt-get install mysql-server sudo apt-get install.
Ваш PHP "include_path" должен быть обновлен, чтобы включить каталог PHPExcel Classes/.
В широком смысле PHPExcel-это библиотека (написанная на PHP, загруженная во время выполнения приложениями), а не расширение (написанное на C , сообщенное php -m , загруженное при запуске PHP), поэтому она не будет сообщена php -m и не имеет файла .ini и т. Д.
У меня есть Phabricator, установленный на коробке Linux, и я сделал следующее, чтобы установить PHPExcel в мой Phabricator:
- Получите копию PHPExcel, перейдя в https://github.com/PHPOffice/PHPExcel и сделав "git clone https://github.com/PHPOffice/PHPExcel" или перейдя к зеленой кнопке "Клонировать или загрузить" в https://github.com/PHPOffice/PHPExcel и нажмите "Download Zip". Обратите внимание на путь, по которому вы клонировали или разархивировали файл, и убедитесь, что внутри него есть папка "Classes". Для целей этого пошагового руководства я скопировал папку PHPExcel в свою папку Phabricator.
- В Linux/OSX shell измените каталог или "cd" на установку Phabricator и введите "найти . -назовите "php.ini", чтобы найти php.ini, связанный с Phabricator. Для моей версии это было в $PHABRICATOR/php/etc/php.ini
- Сделайте копию файла php.ini в качестве резервной копии, а затем откройте файл php.ini, найденный на шаге 2, в редакторе
- В редакторе найдите оператор "include_path", он должен выглядеть следующим образом .
. и вы должны изменить его на .
- Перезагрузите Phabricator, изменив каталог или выполнив "cd" в корневой папке Phabricator, и выполните "./ctlscript.sh перезагрузка"
Это сработало для меня, и, надеюсь, также для вас.
Похожие вопросы:
я пытаюсь установить Apache 2 на мою версию системы Ubuntu 14.04 LTS, установка прошла успешно, но когда я пытаюсь перезапустить Apache, он показывает непризнанную службу, пожалуйста, помогите мне.
Мой apache2 работал должным образом на ubuntu. Но теперь он показывает следующую ошибку, когда я перезапускаю его. Перезапуск веб-сервера apache2 apache2: не удалось достоверно определить полное.
Как установить текущую версию (0.30.1) numba для Python 3 на Ubuntu 16.04 LTS? Моя версия Python - это 3.5.2, и у меня есть установка barebones Ubuntu (серверная версия, я думаю)
У меня возникли проблемы с установкой Passenger на Ubuntu 14.04 LTS для Apache2, и мне было интересно, не мог бы кто-нибудь помочь мне установить Passenger для Apache? Я могу установить Ruby на.
Я пытаюсь настроить стек LAMP на Ubuntu 14.04 LTS, установив каждый из пакетов отдельно в terminal, а не используя пакеты LAMP software bundle. Ниже приведены команды, которые я выполнил: sudo.
Установка : OS Debian 8.6 Jessie Фабрикатор версия : phabricator 62cf4e6b95abbebc8ae2b1591039967651188c6e (СБ, 14 января) арканист ade25facfdf22aed1c1e20fed3e58e60c0be3c2b (ПТ, 6 января) phutil.
Я установил Django (1.11) на виртуальную среду Python (3.6.3), работающую на сервере Ubuntu 16.04 LTS. Мое приложение Django содержит изображения, а сервер Django dev не запустится без установленной.
Я сталкиваюсь с приведенными ниже ошибками при установке apache2 на мой ubuntu 14.04 LTS The following packages have unmet dependencies: apache2 : Depends: apache2-bin (= 2.4.7-1ubuntu4.18) but.
Установка У меня возникают странные проблемы с тест-поваром. Я использую очень простой случай, когда я пытаюсь установить и запустить Apache на 2 платформах. driver: name: vagrant provisioner: name.
Я исунг PHPExcel и у меня есть URL в строке. При выполнении:
url устанавливается как простой текст.
Но затем, при нажатии на ссылку, он пытается открыть локальную папку.
Есть идеи, как это сделать?
Когда я пытаюсь сделать это без кавычек:
Тогда я получаю ошибку:
Мой настоящий url-это
Я заметил, что при установке косой черты в конце гиперссылка работает, но url тогда неправильно.
4 ответа
Как установить определенный цвет для активной ячейки при создании документа XLS в PHPExcel?
Я нашел решение, каким-то образом url, который у меня был, не был распознан excel.
И теперь это работает. Надеюсь, это поможет.
Я предполагаю, что значение вашего поля имеет целочисленное значение. Если это так, то сначала вам нужно преобразовать тип данных этой ячейки, а затем установить гиперссылку. Ниже показано, как я это сделал.
Попробуйте написать свой код, как показано ниже:
$objSheet->setCellValue('A1', '=Hyperlink("https://www.someurl.com/","Mi web")');
Только что потерял час на том же самом вопросе. Наконец (после проверки источника PHPexcel) выяснил, что ->getCell('A1') не требуется и всегда приводит меня к следующей ошибке: Вызов функции-члена getHyperlink() на не-объекте. Вместо этого вы должны передать координаты ячейки непосредственно в getHyperlink('A1') , как это:
Похожие вопросы:
Кто-нибудь знает, как можно установить заполнение ячеек в PHPExcel ? Искал 30 минут и до сих пор не могу найти правильного решения. На этот счет нет никакой полезной документации.
Как динамически установить значение ячейки / столбца с помощью библиотеки PHPExcel? Я извлекаю результирующий набор из базы данных MySQL и хочу записать данные в формате excel, используя библиотеку.
Я использую phpexcel для создания документа excel с PHP. вопрос в том, как сделать автоматическую высоту строки с помощью phpexcel? большое спасибо :)
Как установить определенный цвет для активной ячейки при создании документа XLS в PHPExcel?
Как создать читатель XML из данных URL XML? Я предоставляю действительные данные XML от URL до identify() фабрики PHPExcel , но скрипт выдает ошибку: (!) Фатальная ошибка: Неперехваченное исключение.
Как установить размер шрифта для заголовка в моем reprot в PHPExcel? Я попробовал код ниже, но он не сработал: $objPHPExcel->getActiveSheet()->getHeaderFooter().
Как я могу установить вертикальное выравнивание текста на PHPExcel Я попробовал с $phpExcelObject->getActiveSheet()->getStyle('B2:B5')->getAlignment()->setReadorder(.
Как установить первую строку в phpexcel, я действительно Новичок в этом материале, Когда я экспортирую файл с помощью phpexcel, результат всегда начинается с строки A1 ! как это пропустить. я хочу.
Я хочу установить phpoffice/phpexcel в своем проекте. Когда composer install или composer update , я получаю ошибку: Пакет phpoffice/phpexcel заброшен, вы должны избегать его использования. Вместо.
Читайте также: