Export data from php to excel
Export data to excel.
- /**
- * Export to an excel file (generally Chinese characters are exported with garbled characters and need to be encoded and converted)
- * The usage is as follows:
- * $ Excel = new Excel ();
- * $ Excel-> addHeader (array ('column 1', 'column 2', 'column 3', 'column 4 '));
- * $ Excel-> addBody (
- Array (
- Array ('data 1', 'data 2', 'data 3', 'data 4 '),
- Array ('data 1', 'data 2', 'data 3', 'data 4 '),
- Array ('data 1', 'data 2', 'data 3', 'data 4 '),
- Array ('data 1', 'data 2', 'data 3', 'data 4 ')
- )
- );
- * $ Excel-> downLoad ();
- */
- Class Excel {
- Private $ head;
- Private $ body;
-
- /**
- *
- * @ Param type $ arr one-dimensional array
- */
- Public function addHeader ($ arr ){
- Foreach ($ arr as $ headVal ){
- $ HeadVal = $ this-> charset ($ headVal );
- $ This-> head. = "{$ headVal} \ t ";
- }
- $ This-> head. = "\ n ";
- }
-
- /**
- *
- * @ Param type $ arr two-dimensional array
- */
- Public function addBody ($ arr ){
- Foreach ($ arr as $ arrBody ){
- Foreach ($ arrBody as $ bodyVal ){
- $ BodyVal = $ this-> charset ($ bodyVal );
- $ This-> body. = "{$ bodyVal} \ t ";
- }
- $ This-> body. = "\ n ";
- }
- }
-
- /**
- * Download an excel file
- */
- Public function downLoad ($ filename = ''){
- If (! $ Filename)
- $ Filename = date('ymdhis', time({}.'.xls ';
- Header ("Content-type: application/vnd. ms-excel ");
- Header ("Content-Disposition: attachment; filename = $ filename ");
- Header ("Content-Type: charset = gb2312 ");
- If ($ this-> head)
- Echo $ this-> head;
- Echo $ this-> body;
- }
-
- /**
- * Encoding conversion
- * @ Param type $ string
- * @ Return string
- */
- Public function charset ($ string ){
- Return iconv ("UTF-8", "gb2312", $ string );
- }
- }
- ?>
|