Phpexcel - очень мощная библиотека классов классов Document Documents MS Office Excel. Когда это необходимо для вывода относительно сложных данных формата, Phpexcel является хорошим выбором. Однако его использование относительно сложное. Перечислите его, чтобы записать.
Кода -копия выглядит следующим образом:
<?
// Установите путь включения библиотеки классов Phpexcel
set_include_path ('.'.
'D:/Zeal/php_libs'. Path_separator.
get_include_path ());
/**
* Ниже приведен пример использования. Для строк, начиная с ////, существуют различные дополнительные методы. Пожалуйста, используйте их в соответствии с реальными потребностями.
* Откройте комментарий по соответствующей строке.
* При использовании Excel5 выход должен быть кодирован GBK.
*/
require_once 'phpexcel.php';
// неуместная
//// require_once 'phpexcel/writer/excel5.php'; // используется для других нижних версий XLS
// или
//// require_once 'phpexcel/writer/excel2007.php'; // для формата Excel-2007
// Создать экземпляр объекта обработки
$ objexcel = new phpexcel ();
// Создать формат файла для написания экземпляра объекта, неудобства
//// $ objwriter = new phpexcel_writer_excel5 ($ objexcel); // используется для других форматов версий
// или
//// $ objwriter = new phpexcel_writer_excel2007 ($ objexcel); // для формата 2007 года
// $ objwriter-> setOffice2003compatibility (true);
// *************************************************************
// Установить основные свойства документа
$ objprops = $ objexcel-> getProperties ();
$ objprops-> setCreator ("Zeal li");
$ objprops-> setlastmodifiedby ("Zeal li");
$ objprops-> cettitle ("Test Document Office XLS");
$ objprops-> setSubject ("Тестовый документ Office XLS, демонстрация");
$ objprops-> setDescription («тестовый документ, сгенерированный Phpexcel.»);
$ objprops-> setkeywords ("Office Excel Phpexcel");
$ objprops-> setcategory ("test");
// *************************************************************
// Установите текущий индекс листа для последующих операций содержимого.
// Как правило, вызов необходим только тогда, когда используются несколько листов.
// По умолчанию PHPEXCEL автоматически создаст первый лист и установит листовину = 0
$ objexcel-> setActiveSheetIndex (0);
$ objactsheet = $ objexcel-> getActiveSheet ();
// Установить имя текущего активного листа
$ objactsheet-> cettitle ('test-teale');
// *************************************************************
// Установить содержание ячейки
//
// phpexcel автоматически определяет тип содержимого ячейки на основе входящего контента
$ objactsheet-> setCellValue ('a1', 'String Content'); // Строковое содержимое
$ objactsheet-> setcellValue ('a2', 26); // Ценить
$ objactsheet-> setcellvalue ('a3', true); // логическое значение
$ objactsheet-> setcellValue ('a4', '= sum (a2: a2)'); // формула
// Объяснение укажите тип контента
$ objactsheet-> setcellvalueexplicit ('a5', '847475847857487584',
Phpexcel_cell_datatype :: type_string);
// слияние ячеек
$ objactsheet-> mergecells ('b1: c22');
// отдельные ячейки
$ objactsheet-> unmergecells ('b1: c22');
// *************************************************************
// Установить стиль ячейки
//
// установить ширину
$ objactsheet-> getColumnDimension ('b')-> setautosize (true);
$ objactsheet-> getColumnDimension ('a')-> setwidth (30);
$ objstylea5 = $ objactsheet-> getstyle ('a5');
// Установите формат числа содержания ячейки.
//
// Если phpexcel_writer_excel5 используется для генерации контента,
// Обратите внимание, что переменная const, определенная в классе phpexcel_style_numberformat
// среди различных методов форматирования форматирования можно использовать другие типы, но когда SetFormatCode
// Когда это format_number, фактический эффект не устанавливается на «0». нуждаться
// Измените метод GetXF ($ style) в исходном коде класса PHPEXCEL_WRITER_EXCEL5_FORMAT,
// Добавить один до if ($ this-> _ biff_version == 0x0500) {(рядом с строкой 363)
// код строки:
// if ($ ifmt === '0') $ ifmt = 1;
//
// Установите формат на phpexcel_style_numberformat :: format_number, чтобы избежать некоторых больших чисел
// отображается с использованием метода научного подсчета. В сочетании со следующим методом setaTosize, содержание каждой строки может быть сделано
// Все отображаются в соответствии с исходным содержанием.
$ objstylea5
-> getNumberFormat ()
-> setFormatCode (phpexcel_style_numberformat :: format_number);
// Установить шрифт
$ objfonta5 = $ objstylea5-> getFont ();
$ objfonta5-> setname ('courier new');
$ objfonta5-> setSize (10);
$ objfonta5-> setbold (true);
$ objfonta5-> setUnderline (phpexcel_style_font :: angeline_single);
$ objfonta5-> getColor ()-> setargb ('ff9999999');
// Установить выравнивание
$ objaligna5 = $ objstylea5-> getAlenment ();
$ objaligna5-> sethorizontal (phpexcel_style_alignment :: horizontal_right);
$ objaligna5-> setvertical (phpexcel_style_alenment :: vertical_center);
// установить границу
$ objbordera5 = $ objstylea5-> getborders ();
$ objbordera5-> getTop ()-> setBordersTyle (phpexcel_style_border :: border_thin);
$ objbordera5-> getTop ()-> getColor ()-> setArgb ('ffff0000'); // цвет
$ objbordera5-> getbottom ()-> setborderstyle (phpexcel_style_border :: border_thin);
$ objbordera5-> getleft ()-> setborderstyle (phpexcel_style_border :: border_thin);
$ objbordera5-> getright ()-> setborderstyle (phpexcel_style_border :: border_thin);
// установить цвет заполнения
$ objfilla5 = $ objstylea5-> getfill ();
$ objfilla5-> setFillType (phpexcel_style_fill :: fill_solid);
$ objfilla5-> getStartColor ()-> setArgb ('ffeeeee');
// Информация о стиле копии из указанной ячейки.
$ objactsheet-> duplicatestyle ($ objstylea5, 'b1: c22');
// *************************************************************
// Добавить картинки
$ objdrawing = new phpexcel_worksheet_drawing ();
$ objDrawing-> setName ('Zealimg');
$ objDrawing-> setDescription ('изображение, вставленное рвением');
$ objDrawing-> setPath ('./ Zeali.net.logo.gif');
$ objdrawing-> setheight (36);
$ objDrawing-> setCoordinates ('C23');
$ objdrawing-> setoffsetx (10);
$ objdrawing-> setrotation (15);
$ objDrawing-> getShadow ()-> setVisible (true);
$ objDrawing-> getShadow ()-> setDirection (36);
$ objDrawing-> setWorksheet ($ objactsheet);
// Добавить новый рабочий лист
$ objexcel-> createSheet ();
$ objexcel-> getSheet (1)-> centitle ('test 2');
// защитить ячейку
$ objexcel-> getSheet (1)-> getProtection ()-> setSheet (true);
$ objexcel-> getSheet (1)-> protectcells ('a1: c22', 'phpexcel');
// *************************************************************
// Вывод содержимого
//
$ outputfilename = "output.xls";
// файл
//// $ objwriter-> save ($ outputfilename);
//или
// в браузер
//// Header ("Content-Type: Application/Force-Download");
//// Header ("Content-Type: Application/Octet-Stream");
//// Header ("Content-Type: Application/Download");
/////header('content-disposition
//// HEADER («Контент-transfer-encoding: двоичный»);
//// HEADER («Срок действия: понедельник, 26 июля 1997 г. 05:00:00 GMT»);
//// HEADER («Последний модифицированный:». Gmdate ("D, D Myh: i: s"). "Gmt");
//// HEADER ("CACH-CONTROL: UST-REVALIDET, POST-CHECK = 0, PRE-CHECK = 0");
//// HEADER ("Pragma: No-Cache");
//// $ objwriter-> save ('php: // output');
?>