本文实例讲述了php导出中文内容excel文件类。分享给大家供大家参考。具体如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
<?php class toExcel{ public $link = null; function __construct(){ } /*************************************************************************** * $mapping:数组格式头信息$map=array('No','Name','Email','Age'); * $datalist:数据库查出来的结果集 * $fileName:Excel文件名称 * return:Excel格式文件 **************************************************************************/ public function toExcel( $mapping , $datalist , $fileName ) { header( "Content-type:application/vnd.ms-excel" ); header( "Content-Disposition:filename=" .iconv( 'utf-8' , 'gb2312' , $fileName ). ".xls" ); echo '<html xmlns:o= "urn:schemas-microsoft-com:office:office" xmlns:x= "urn:schemas-microsoft-com:office:excel" xmlns= "[url=http://www.w3.org/TR/REC-html40]http://www.w3.org/TR/REC-html40[/url]" > <head> <meta http-equiv= "expires" content= "Mon, 06 Jan 1999 00:00:01 GMT" > <meta http-equiv=Content-Type content= "text/html; charset=UTF-8" > <!--[ if gte mso 9]><xml> <x:ExcelWorkbook> <x:ExcelWorksheets> <x:ExcelWorksheet> <x:Name></x:Name> <x:WorksheetOptions> <x:DisplayGridlines/> </x:WorksheetOptions> </x:ExcelWorksheet> </x:ExcelWorksheets> </x:ExcelWorkbook> </xml><![ endif ]--> </head> <body link=blue vlink=purple leftmargin=0 topmargin=0>'; echo '<table border="0" cellspacing="0" cellpadding="0">' ; echo '<tr>' ; if ( is_array ( $mapping )) { foreach ( $mapping as $key => $val ) echo "<td style='background-color:#09F;font-weight:bold;'>" . $val . "</td>" ; } echo '</tr>' ; foreach ( $datalist as $k => $v ){ echo '<tr>' ; foreach ( $v as $key => $val ){ if ( is_numeric ( $val ) && strlen ( $val )>=14){ echo "<td style='vnd.ms-excel.numberformat:@'>" . $val . "</td>" ; //大于14位的数字转换成字符串输出(如身份证) } else { echo "<td>" . $val . "</td>" ; } } echo '</tr>' ; } echo '</table>' ; echo '</body>' ; echo '</html>' ; } } $map = array ( 'No' , 'Name' , 'Email' ); $datal = array ( array (1, '管理员' , 'admin@163.com' ), array (2, 'member' , 'member@163.com' ));; $csv = new toExcel; $csv ->toExcel( $map , $datal , "dataexport" ); ?> |
方法二
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
<?php header( "Content-Type: application/vnd.ms-execl" ); header( "Content-Disposition: attachment; filename=myExcel.xls" ); header( "Pragma: no-cache" ); header( "Expires: 0" ); /*first line*/ $data1 = "中文测试" ; $data1 =mb_convert_encoding( $data1 , "GB2312" , "UTF-8" ); echo $data1 . "\t" ; echo "world" . "\t" ; echo "\t\n" ; /*start of second line*/ echo "this is second line" . "\t" ; echo "Hi,pretty girl" . "\t" ; echo "\t\n" ; ?> |
希望本文所述对大家的php程序设计有所帮助。