krot

содать xls

Aug 10th, 2016
81
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.     function xlsBOF() {
  2.     echo pack(«ssssss», 0x809, 0x8, 0x0, 0x10, 0x0, 0x0);
  3.     return;
  4.     }
  5.  
  6.     function xlsEOF() {
  7.     echo pack(«ss», 0x0A, 0x00);
  8.     return;
  9.     }
  10.  
  11.     function xlsWriteNumber($Row, $Col, $Value) {
  12.     echo pack(«sssss», 0x203, 14, $Row, $Col, 0x0);
  13.     echo pack(«d», $Value);
  14.     return;
  15.     }
  16.  
  17.     function xlsWriteLabel($Row, $Col, $Value ) {
  18.     $L = strlen($Value);
  19.     echo pack(«ssssss», 0x204, 8 + $L, $Row, $Col, 0x0, $L);
  20.     echo $Value;
  21.     return;
  22.     }
  23.  
  24.  
  25.  
  26. C помощью этих функций можно легко и просто создавать xls-файлы, например так:
  27.  
  28.     header(«Content-Type: application/force-download»);
  29.     header(«Content-Type: application/octet-stream»);
  30.     header(«Content-Type: application/download»);;
  31.     header(«Content-Disposition: attachment;filename=list.xls»);
  32.     header(«Content-Transfer-Encoding: binary „);
  33.  
  34.     xlsBOF(); //начинаем собирать файл
  35.     /*первая строка*/
  36.     xlsWriteLabel(1,0,“Название»);
  37.     /*вторая строка*/
  38.     xlsWriteLabel(2,0,"№п/п");
  39.     xlsWriteLabel(2,1,«Имя»);
  40.     xlsWriteLabel(2,2,«Фамилия»);
  41.     /*третья строка*/
  42.     xlsWriteNumber(3,0,«1»);
  43.     xlsWriteLabel(3,1,«Петр»);
  44.     xlsWriteLabel(3,2,«Иванов»);
  45.     /*...*/
  46.     xlsWriteNumber(32,0,«30»);
  47.     xlsWriteLabel(32,1,«Иван»);
  48.     xlsWriteLabel(32,2,«Петров»);
  49.  
  50.     xlsEOF(); //заканчиваем собирать
RAW Paste Data