注册 登录
编程论坛 PHP技术论坛

[求助]用php怎么生成excel文件呀!~

zsf2006 发布于 2007-04-23 15:55, 1303 次点击
php怎么生成excel文件呀!~,真的想知道
哪位大哥哥大姐姐知道的话,能否给个实例啊
非常感谢!
3 回复
#2
rainic2007-04-23 17:38

<?
include("../common/db.inc.php");
include("../core/MySqlAccess_class.inc.php");

$sqlstr = str_replace("\\'","'",$_POST['sqlstr']);
$head_line = str_replace(",","\t",$_POST['head_line']) . "\n";
$filename = $_POST['filename'];

getExcel($sqlstr,$head_line,$filename);

function getExcel($sql, $head_line = "", $filename = "report") {
$table_value = $head_line;
$da = new DataAccess();
$da->ExecuteQurey($sql);
$num_fields = 0;
while ($row = $da->GetRow()) {
if (!$num_fields)
$num_fields = mysql_num_fields($da->result);
$i = 0;
foreach ($row as $field) {
if ($i) {
$table_value .= "\t" . $field;
}
else {
$table_value .= $field;
$i = 1;
}
}
$table_value .= "\n";
}
$da->FreeResult();
$da->ConnClose();
ob_start();
header("Content-type:application/vnd.ms-excel");
header("Content-Disposition:filename=$filename.xls");
echo $table_value;
}
?>

#3
rainic2007-04-23 17:41
输出"\t"时就是列
输出"\n"时就是行
最后用 header("Content-type:application/vnd.ms-excel");以EXCEL输出.
用header("Content-Disposition:filename=$filename.xls");输出EXCEL文件
#4
lmhllr2007-04-24 10:38
其实原理不难,就是header出excel头

然后echo出内容就行了,其他类型如word等也是一样的!
1