<?php/** * Generate Excel file Operation * *@author Wesley Wu *@date 2013.12.9 */Classexcel{Private$limit =10000;PublicfunctionDownload($data,$fileName) {$fileName =$this->_charset ($fileName); Header"Content-type:application/vnd.ms-excel; CHARSET=GBK "); Header"Content-disposition:inline; Filename=\ "".$fileName.". Xls\" ");Echo"<?xml version=\" 1.0\ "encoding=\" gbk\ "? >\n <workbook xmlns=\" Urn:schemas-microsoft-com:office: Spreadsheet\ "xmlns:x=\" urn:schemas-microsoft-com:office:excel\ "xmlns:ss=\" Urn:schemas-microsoft-com:office: Spreadsheet\ "xmlns:html=\" http://www.w3.org/tr/rec-html40\ ">";Echo"\n<worksheet ss:name=\" ".$fileName."\" >\n<table>\n ";$guard =0;foreach$dataAs$V) {$guard + +;If$guard = =$this->limit) {ob_flush (); flush ();$guard =0; }Echo$this->_addrow ($this->_charset ($v)); }Echo"</Table>\n</Worksheet>\n</Workbook>"; }Privatefunction_addrow($row) {$cells ="";foreach ($rowAs$k =$V) {$cells. ="<cell><data ss:type=\" string\ ">".$v."</data></cell>\n"; }Return"<row>\n".$cells."</row>\n"; }Privatefunction_charset ( $data) {if (! $data) {return FALSE;} if (Is_array ( $data)) {foreach ( $data as $k => $v) { $data [ $k] = $this->_charset ( $v);} return $data;} return iconv ( ' Utf-8 ', ' GBK ', $data); } }
How to use
$excel =New Excel ();$data =ArrayArray' Name ',' Title ',' Article ',' Price ',' Data 5 ',' Data 6 ',' Data 7 '),Array' Data 1 ',' Data 2 ',' Data 3 ',' Data 4 ',' Data 5 ',' Data 6 ',' Data 7 '),Array' Data 1 ',' Data 2 ',' Data 3 ',' Data 4 ',' Data 5 ',' Data 6 ',' Data 7 '),Array' Data 1 ',' Data 2 ',' Data 3 ', ' data 5 ', ' data 6 ', " Data 7 '), array ( ' data 1 ', ' data 3 ', ' data 4 ', " Data 5 ', ' data 6 ', ' data 7 '), array ( ' data 1 ', ' data 2 ', " Data 3 ', ' data 4 ', ' data 5 ', Data 6 ', $excel->download ( $data, ?>
Share to everyone a simple data export Excel class