php生成excel

WBOY
WBOYasal
2016-06-23 14:34:181011semak imbas

生成excel有很多方法 这里记录一个相对最简单 在php 5.3.8里能使用的

 

 1 function xlsBOF() { 2  echo pack("ssssss", 0x809, 0x8, 0x0, 0x10, 0x0, 0x0); 3  return; 4 } 5 function xlsEOF() { 6  echo pack("ss", 0x0A, 0x00); 7  return; 8 } 9 function format( $STR ){10  $STR = str_replace( "\"", "", $STR );11  if ( strpos( $STR, "," ) ){12   $STR = "\"".$STR."\"";13  }14  $STR = iconv( "utf-8", "gb2312", $STR );15  return $STR;16 }17 function xlsWriteNumber($Row, $Col, $Value) {18  echo pack("sssss", 0x203, 14, $Row, $Col, 0x0);19  echo pack("d", $Value);20  return;21 }22 function xlsWriteLabel($Row, $Col, $Value ) {23  $L = strlen($Value);24  echo pack("ssssss", 0x204, 8 + $L, $Row, $Col, 0x0, $L);25  echo $Value;26  return;27 }28 function write_excel_line($hang,$lie,$val){29  if(is_numeric($val)){30   xlsWriteNumber($hang,$lie,$val);31  }else{32   xlsWriteLabel($hang,$lie,$val);33  }34 }35 $mktime = mktime();36 header('Content-Type: text/html; charset=utf-8');37 header("Pragma: public");38 header("Expires: 0");39 header("Cache-Control: must-revalidate, post-check=0, pre-check=0");40 header("Content-Type: application/force-download");41 header("Content-Type: application/octet-stream");42 header("Content-Type: application/download");43 header("Content-Disposition: attachment;filename=$mktime.xls ");44 header("Content-Transfer-Encoding: binary ");45 // XLS Data Cell46 xlsBOF();47 xlsWriteLabel(0, 0, format('单元格A1'));48 xlsWriteLabel(0, 1, format('单元格B1'));49 xlsWriteLabel(0, 2, format('单元格C1'));50 write_excel_line(1, 0, 'A2');51 write_excel_line(1, 1, 'B2');52 write_excel_line(1, 2, 'C2');53 write_excel_line(2, 0, 'A3');54 write_excel_line(2, 1, 'B3');55 write_excel_line(2, 2, 'C3');56 write_excel_line(3 , 0, '40');57 write_excel_line(3 , 1, '41');58 write_excel_line(3 , 2, '42');59 xlsEOF();



Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:php header 详解Artikel seterusnya:php笔试(二)