PHP 生成Excel表格两种方法

来源:互联网 发布:淘宝达人怎么关闭 编辑:程序博客网 时间:2024/04/29 09:51

 

1、使用PHP header()函数  (向浏览器输出Excel,即通过浏览器方式,下载生成的excel)

 

 

实例:

 

/**

 * PHP 使用heade()函数生成excel表格  ExcelName为表格名称

 * 注:在使用时,注意编码问题;如果有问题,可以使用iconv()函数进行转码,如iconv('utf-8', 'gb2312', ExcelName)

 */

header("Content-type:application/vnd.ms-excel"); //表示输出Excel文件

header("Content-Disposition:attachment; filename=ExcelName.xls");//文件名

echo '第一列'.chr(9).'第二列'.chr(9).'第三列'.chr(9).chr(13);

echo '第一列值'.chr(9).'第二列值'.chr(9).'第三列值'.chr(9).chr(13);

 

 

2、使用Excel文件代码(实现在服务器端生成Excel文件  一个Excel文件一个或多个Worksheet )

 

实例:

 

$excelHeader = "<?xml version=/"1.0/" encoding=/"GB2312/"?/>/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/">/n";//Excel代码头部

$excelFooter =  "</Workbook>"; 

 

//Excel表格主体部分

$context  = "<Worksheet ss:Name=/"".$filename."/">/n<Table>/n ";

$context  .= "<Row>/n ";

$context  .= "<Cell><Data ss:Type=/"String/">".iconv("UTF-8","GB2312","用户UID")."</Data></Cell>/n";

$context  .= "<Cell><Data ss:Type=/"String/">".iconv("UTF-8","GB2312","用户名")."</Data></Cell>/n";

$context  .= "<Cell><Data ss:Type=/"String/">".iconv("UTF-8","GB2312","性别")."</Data></Cell>/n";

$context  .= "</Row>/n";

$context  . = "</Table>/n</Worksheet>/n";

 

$line = $excelHeader. $context.$excelFooter; // 一个Excel文件一个Worksheet 

//$line = $excelHeader. $context.$context.$excelFooter; //  一个Excel文件两个Worksheet 

$fp = fopen( "/tmp/excelName.xls", "a+");

if($fp) {

fwrite($fp, stripslashes($line));

fclose($fp);

}

 

注:

无论使用哪种方法,注意编码问题,可以使用iconv()函数进行转码输出。