В Excel, на экспорт! Кислицин Никита Хакер, номер #072, стр. 072-116-3 * addWorksheet(). Эта функция возвращает экземпляр рабочего листа xls. Все дальнейшие манипуляции с данными на листе осуществляются через полученный дескриптор. * addFormat(). Этот метод создает форматный класс, в котором определяется форматирование ячеек – размер символов, используемый шрифт, стиль текста, цвет ячейки и т.д. Что касается методов, используемых для добавления информации в ячейки, то здесь имеет смысл описать работу процедуры write(), упоминание о которой ты уже встречал в предыдущих примерах. Первым аргументом этого метода является номер строки, а вторым, как несложно догадаться, – номер столбца. Обрати внимание, что именно номер, а не буква, как это принято в Excel. К этому придется привыкнуть. Давай попробуем вместе. Буква G – шестая по алфавиту и соответствует столбцу под номером… 5! А все потому, что нумерация строк и столбцов в нашей библиотеке начинается с нуля. Третий аргумент метода write() – это сами данные, которые нужно поместить в определенную ячейку. Есть и четвертый, необязательный параметр, используемый для визуального форматирования ячеек. Также в классе Spreadsheet_Excel_Writer_Worksheet присутствует множество функций для форматирования листа в целом перед печатью, объединения нескольких ячеек в одну и т.д. Какие-то из них я упомяну в этой статье, а какие-то оставлю тебе в качестве домашнего задания. Форматируем ячейки Ты уже умеешь создавать xls-листы и даже добавлять туда собственные данные. Это все здорово. Но как насчет более красивых документов? Тебе наверняка хочется научиться использовать различные шрифты, как-то зрительно выделять названия колонок и т.д. Все это можно довольно легко реализовать при помощи метода addFormat() класса PEAR::Spreadsheet_Excel_Writer. Для форматирования полученного объекта мы применяем его же методы, чтобы затем передать полученный форматный класс в качестве параметра для функции write(), что определит обрисовку указанной ячейки. На экспорт! Чтобы тебе было понятнее, я приведу здесь простенький пример. Давай создадим скрипт, который будет экспортировать данные из указанной sql-таблицы в файл Excel’я, выделяя зрительно названия колонок. Мы сделаем нашу программу универсальной, чтобы ее можно было использовать для любых sql-таблиц, независимо от их структуры. Экспорт SQL-> XLS class s2x { var $db; function conv($table) { if (file_exists("li/$table".".xls") ) { unlink("li/$table".".xls"); #Если файл существует, удаляем } require_once "Spreadsheet/Excel/Writer.php"; $xls =& new Spreadsheet_Excel_Writer("li/$table".".xls"); $titleFormat =& $xls-> addFormat(); # Создаем форматный класс $titleFormat-> setFontFamily('Verdana'); # И исправляем его свойства, меняя шрифт и стиль $titleFormat-> setBold(); $titleFormat-> setSize('13'); $titleFormat-> setColor('orange'); $titleFormat-> setBgColor('EEEEEE'); $sheet =& $xls-> addWorksheet("$table"); $fields = mysql_list_fields("$this-> db", "$table"); #Получаем список полей таблицы $numf=mysql_num_fields($fields); #Считаем их количество |