diff --git a/metadata/include/toExcell.php b/metadata/include/toExcell.php deleted file mode 100644 index 4cbae09..0000000 --- a/metadata/include/toExcell.php +++ /dev/null @@ -1,196 +0,0 @@ - -* Version : 0.1 -* Copyright : GNU LGPL -* URL : http://lio.kz -* Last modified : 08.07.2004 -* Description : Объект формирования xls файла. Файл может быть -* сохранен физически на диск для дальнейшей работы (передача, -* отправка на e-mail и т.д.). Так же можно сразу "показать" структуру -* Данный скрипт поддерживает формат Excell 5, с ограничениями - -* не более 255 столбцов, и 65535 строк. -* -* Отлечистельные особенности от других скриптов -* 1. Формирования атрибутов ячеек (обрамление) -* 2. Отдельная запись целых чисел и вещественных -* 3. Корректировка стилей шрифтов и размера -******************************************************************/ - - - class PhpToExcell { - var $data = ""; // данные структуры - - // формирования заголовка открытия - function ExBOF() - { - // begin of the excel file header - $this->data = pack("c*", 0x09, 0x00, 0x04, 0x00, 0x02, 0x00, 0x10, 0x0); - } - - // формирования заголовка закрытия - function ExEOF() - { - $this->data .= pack("cc", 0x0A, 0x00); - } - - // Переводит в строку attr1..3 - function RowAttr($attr1,$attr2,$attr3) - { - return chr($attr1).chr($attr2).chr($attr3); - } - - // устанавливает русский язык в структура xls - function Rus() - { - $this->data .= (chr(0x42).chr(0x00).chr(0x02).chr(0x00).chr(0x01).chr(0x80)); - } - - // запись строки - // Col,Row - колонка и строка - // attr1 - атрибут показа ячейки и защита от записи - // attr2 - размер шрифта - // attr3 - обрамление ячейки - // для формирования атрибутов используйте соотвествующие функции - function WriteLabel($Col,$Row,$attr1=0,$attr2=0,$attr3=0,$value) // { Запись String } - { - $i=strlen($value); - $this->data .= pack("v*",0x04,8+$i,$Col,$Row); - $this->data .= $this->RowAttr($attr1,$attr2,$attr3); - $this->data .= pack("c",$i); - $this->data .= $value; - } - - // установка ширины колонки Width*1/256 - // 3000 - 100% } - function ColWidth($ColFirst,$ColLast,$Width) - { - $this->data .= (CHR(0x24).CHR(00).Chr(04).CHR(00).chr($ColFirst).chr($ColLast).pack('s',$Width)); - } - - // Управляет видом колонок и строк при - // ReferenceMode=1 Стиль ссылок = R1C1 - // ReferenceMode=0 Стиль ссылок стандартный A1... - function RefMode($ReferenceMode=1) - { - if ($ReferenceMode==1) - { - $this->data .= (CHR(0x0f).chr(0x00).chr(2).chr(0x00).chr(0x00).chr(0x00)); - } else - { - $this->data .= (CHR(0x0f).chr(0x00).chr(2).chr(0x00).chr(0x00).chr(0x01)); - } - } - - // запись целого числа - function WriteInteger($Col,$Row,$attr1,$attr2,$attr3,$value=0) - { - $this->data.=pack("v*",0x02,0x09,$Col,$Row); - $this->data.=$this->RowAttr($attr1,$attr2,$attr3); - $this->data.=pack("v",$value); - } - - // запись дробного числа - function WriteNumber($Col,$Row,$attr1,$attr2,$attr3,$value=0.00) - { - $this->data.=pack("v*",0x03,0x0F,$Col,$Row); - $this->data.=$this->RowAttr($attr1,$attr2,$attr3); - $this->data.=pack("d",$value); - - } - // запись пустой ячейки - function WriteBlank($Col,$Row,$attr1,$attr2,$attr3) - { - $this->data.=pack("v*",0x01,0x07,$Col,$Row); - $this->data.=$this->RowAttr($attr1,$attr2,$attr3); - } - - // Установка шрифта. Height*1/20 - // Для 10 пунктов Height = 200 } - function Font($Height,$Bold=0,$Italic=0,$Underline=0,$StrikeOut=0,$FontName) - { - $i=strlen($FontName); - $this->data.=CHR(0x31).chr(0x00).Chr($i+5).chr(0x00); - $this->data.=pack("v",$Height); - $k=0; - if ($Bold==1) $k=$k|1; - if ($Italic==1) $k=$k|2; - if ($Underline==1) $k=$k|4; - if ($StrikeOut==1) $k=$k|8; - $this->data.=pack("v",$k); - $this->data.=chr($i); - $this->data.=$FontName; - } - - // Формируем аттрибут №1 ($Attr1) - // $CellHidden - скрыть формулы - // $CellLocked - защищенная ячейка - function Attr1($CellHidden=0,$CellLocked=0) - { - $r=0x0; - if ($CellHidden==1)$r=$r|128; - if ($CellLocked==1)$r=$r|64; - return $r; - } - - // Формируем аттрибут №2 ($Attr2) - // $FontNumber 0..3 - function Attr2($FontNumber=0) - { - $r=0; - switch ($FontNumber) - { - case 1: - $r=64; - break; - case 2: - $r=128; - break; - case 3: - $r=129; - break; - } - return $r; - } - - // Формируем аттрибут №3 ($Attr3) - // Alignment 0 - General - // 1 - left - // 2 - center - // 3 - Right - // 4 - Fill - function Attr3($Shaded=0,$BottomBorder=0,$TopBorder=0,$RightBorder=0,$LeftBorder=0,$Alignment=0) - { - $r=0; - if ($Shaded==1) $r=$r|128; - if ($BottomBorder==1) $r=$r|64; - if ($TopBorder==1) $r=$r|32; - if ($RightBorder==1) $r=$r|16; - if ($LeftBorder==1) $r= $r|8; - if ($Alignment<8) $r=$r|$Alignment; - return $r; - } - - // сохранение данных в xls файл - function SaveToFileXls($FName='file.xls') - { - $fp = fopen( $FName, "wb" ); - fwrite( $fp,$this->data); - fclose( $fp ); - } - - // показать структуру в web - function SendFileToHTTP($FName='file.xls') - { - header ( "Expires: Mon, 1 Apr 1974 05:00:00 GMT" ); - header ( "Last-Modified: " . gmdate("D,d M YH:i:s") . " GMT" ); - header ( "Cache-Control: no-cache, must-revalidate" ); - header ( "Pragma: no-cache" ); - header ( "Content-type: application/x-msexcel" ); - header ( "Content-Disposition: attachment; filename=".$FName ); - print $this->data; - } - } - -?>