Progress-servis55.ru

Новости из мира ПК
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Phpexcel style numberformat

Применение стилей к ячейкам в phpexcel

Применение стилей к ячейкам в phpexcel

//Создание объекта класса библиотеки

$objPHPExcel = new PHPExcel();

//Указываем страницу, с которой работаем

//Получаем страницу, с которой будем работать

//Применим стиль к А1

Различные форматы:

Data Fields

constFORMAT_GENERAL = ‘General’constFORMAT_TEXT = ‘@’constFORMAT_NUMBER = ‘0’constFORMAT_NUMBER_00 = ‘0.00’constFORMAT_NUMBER_COMMA_SEPARATED1 = ‘#,##0.00’constFORMAT_NUMBER_COMMA_SEPARATED2 = ‘#,##0.00_-‘constFORMAT_PERCENTAGE = ‘0%’constFORMAT_PERCENTAGE_00 = ‘0.00%’constFORMAT_DATE_YYYYMMDD2 = ‘yyyy-mm-dd’constFORMAT_DATE_YYYYMMDD = ‘yy-mm-dd’constFORMAT_DATE_DDMMYYYY = ‘dd/mm/yy’constFORMAT_DATE_DMYSLASH = ‘d/m/y’constFORMAT_DATE_DMYMINUS = ‘d-m-y’constFORMAT_DATE_DMMINUS = ‘d-m’constFORMAT_DATE_MYMINUS = ‘m-y’constFORMAT_DATE_XLSX14 = ‘mm-dd-yy’constFORMAT_DATE_XLSX15 = ‘d-mmm-yy’constFORMAT_DATE_XLSX16 = ‘d-mmm’constFORMAT_DATE_XLSX17 = ‘mmm-yy’constFORMAT_DATE_XLSX22 = ‘m/d/yy h:mm’constFORMAT_DATE_DATETIME = ‘d/m/y h:mm’constFORMAT_DATE_TIME1 = ‘h:mm AM/PM’constFORMAT_DATE_TIME2 = ‘h:mm:ss AM/PM’constFORMAT_DATE_TIME3 = ‘h:mm’constFORMAT_DATE_TIME4 = ‘h:mm:ss’constFORMAT_DATE_TIME5 = ‘mm:ss’constFORMAT_DATE_TIME6 = ‘h:mm:ss’constFORMAT_DATE_TIME7 = ‘i:s.S’constFORMAT_DATE_TIME8 = ‘h:mm:ss;@’constFORMAT_DATE_YYYYMMDDSLASH = ‘yy/mm/dd;@’constFORMAT_CURRENCY_USD_SIMPLE = ‘»$»#,##0.00_-‘constFORMAT_CURRENCY_USD = ‘$#,##0_-‘constFORMAT_CURRENCY_EUR_SIMPLE = ‘[$EUR ]#,##0.00_-‘Разное

Если Вы хотите обменяться ссылками со мной между сайтами — пишите в контактах

Работа с Excel средствами PHP

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
Читать еще:  Как открыть двоичный лист excel

Файлы — это различные описания по предыдущим версиям, лицензионное соглашение и очень краткая инструкция по установке. Далее, в папке 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 — альбомная
Читать еще:  Как восстановить не сохранившийся документ excel

Обратите внимание, что перед методом setOrientation() необходимо вызвать метод getPageSetup() , который предоставляет доступ к настройкам страницы.

Далее вызываем метод SetPaperSize() , который позволяет задать размер страницы для печати. Ему передаем параметром константу PAPERSIZE_A4 класса PHPExcel_Worksheet_PageSetup . Что означает, что размер листа страницы будет установлен А4.

Далее устанавливаем поля документа, то есть отступы от краев документа. Отступы задаются в специальных символьных единицах. Вначале, обратите внимание, вызываем у объекта $aSheet метод getPageMargins() , который вернет объект класса, отвечающего за настройки полей страницы. Затем вызываем методы setTop() , setRight() , setLeft() и setBottom() .

Далее при помощи метода setTitle(‘Прайс лист’) задаем название нашего листа.

Если нужно, можно при печати выводить шапку и подвал листа:

Обратите внимание на передаваемые параметры:

  • для шапки передаем строку ‘&CТД ТИНКО: прайс-лист’ ; метка &C означает, что текст нужно расположить по центру.
  • для подвала передаем строку ‘&L&B’.$aSheet->getTitle().’&RСтраница &P из &N’ ; это означает, что нужно вывести слева и жирным шрифтом ( &L&B ) название листа (метод $aSheet->getTitle() ), затем справа ( &R ) вывести номер страницы ( &P ) из общего количества страниц ( &N ).

Затем указываем настройки шрифта по умолчанию:

  • setName(‘Arial’) — задаем имя шрифта;
  • setSize(8) — задаем размер шрифта.

Наполнение документа данными

Для начала давайте зададим ширину столбцов (в символьных единицах), которые нам понадобятся:

Теперь заполним несколько ячеек текстом:

Здесь мы сначала объеденяем ячейки с А1 до E1 при помощи метода mergeCells() , далее задаем высоту строки: вначале получаем доступ к строке 1 при помощи метода getRowDimension(‘1’) , затем задаем высоту — setRowHeight(20) . Далее при помощи метода setCellValue(‘A1′,’ТД ТИНКО’) , устанавливаем значение ячейки А1.

Далее давайте в ячейку D4 запишем текущую дату:

Теперь, используя метод setCellValue() , а также цикл while() наполним данными наш прайс-лист:

Читать еще:  Hlookup excel на русском

Стилизация данных

Давайте немного украсим наш прайс-лист, то есть каждой ячейке добавим стилей. Для этого необходимо создать массив со стилями и при помощи метода applyFromArray() , применить этот массив к ячейке (или ячейкам):

Теперь, по аналогии, применим стили к остальным ячейкам:

Сохранение документа

Осталось только сохранить наш документ:

Если нужно вывести документ в браузер

Первый заголовок указывает браузеру тип открываемого контента — это документ формата Excel. Второй — говорит браузеру, что документ необходимо отдать пользователю на скачивание под именем simple.xlsx.

Добавление формул

Формула Excel — это математическое выражение, которое создается для вычисления результата и которое может зависеть от содержимого других ячеек. Формула в ячейке Excel может содержать данные, ссылки на другие ячейки, а также обозначение действий, которые необходимо выполнить.

Использование ссылок на ячейки позволяет пересчитывать результат по формулам, когда происходят изменения содержимого ячеек, включенных в формулы. Формулы Excel начинаются со знака =. Скобки ( ) могут использоваться для определения порядка математических операции.

Примеры формул Excel: =27+36 , =А1+А2-АЗ , =SUM(А1:А5) , =MAX(АЗ:А5) , =(А1+А2)/АЗ .

PHPExcel тоже поддерживает добавление формул в ячейки. Установить формулу можно так:

Чтение Excel-файла

Самый простой вариант — считать все таблицы (на всех листах) и записать данные в трехмерный массив:

Ссылка на основную публикацию
Adblock
detector