参考文献:http://blog.csdn.net/jaray/article/details/12967035
1、生成xls
核心代码
对应的类文件excel.php
<?php
//excel导出类
CLASS excel
{
//excel文件头开始
function xlsBOF()
{
echo pack("ssssss", 0x809, 0x8, 0x0, 0x10, 0x0, 0x0);
return;
}
//excel文件结束
function xlsEOF()
{
echo pack("ss", 0x0A, 0x00);
return;
}
//中文数据转换
function format( $STR )
{
/*
$STR = str_replace( "\"", "", $STR );
if ( strpos( $STR, "," ) )
{
$STR = "\"".$STR."\"";
}
*/
$STR = iconv( "utf-8", "gb2312", $STR );
return $STR;
}
//存储单元格是数字
function xlsWriteNumber($Row, $Col, $Value)
{
echo pack("sssss", 0x203, 14, $Row, $Col, 0x0);
echo pack("d", $Value);
return;
}
//存单元是字符
function xlsWriteLabel($Row, $Col, $Value )
{
$L = strlen($Value);
echo pack("ssssss", 0x204, 8 + $L, $Row, $Col, 0x0, $L);
echo $Value;
return;
}
//写入内容
// $label_true 强制用字符存储
function write_excel_line($hang,$lie,$val,$label_true=false)
{
if (preg_match("/[\x7f-\xff]/", $val))
{
$this->xlsWriteLabel($hang,$lie, $this->format($val));
}
else if(is_numeric($val) && !$label_true)
{
$this->xlsWriteNumber($hang,$lie,$val);
}
else
{
$this->xlsWriteLabel($hang,$lie,$val);
}
}
}
?>
2、生成csv文件
核心代码