本文实例讲述了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程序设计有所帮助。