zsf2006 发表于 2007-4-23 15:55

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

php怎么生成excel文件呀!~,真的想知道<BR>哪位大哥哥大姐姐知道的话,能否给个实例啊<BR>非常感谢!

rainic 发表于 2007-4-23 17:38

<P>&lt;?<BR>include("../common/db.inc.php");<BR>include("../core/MySqlAccess_class.inc.php");<BR><BR>$sqlstr = str_replace("<a>\\'","'",$_POST['sqlstr'</A>]);<BR>$head_line = str_replace(",","\t",$_POST['head_line']) . "\n";<BR>$filename = $_POST['filename'];</P>
<P>getExcel($sqlstr,$head_line,$filename);</P>
<P>function getExcel($sql, $head_line = "", $filename = "report") {<BR>    $table_value = $head_line;<BR>    $da = new DataAccess();<BR>    $da-&gt;ExecuteQurey($sql);<BR>    $num_fields = 0;<BR>    while ($row = $da-&gt;GetRow()) {<BR>        if (!$num_fields)<BR>            $num_fields = mysql_num_fields($da-&gt;result);<BR>        $i = 0;<BR>        foreach ($row as $field) {<BR>            if ($i) {<BR>                $table_value .= "\t" . $field;<BR>            }<BR>            else {<BR>                $table_value .= $field;<BR>                $i = 1;<BR>            }<BR>        }<BR>        $table_value .= "\n";<BR>    }<BR>    $da-&gt;FreeResult();<BR>    $da-&gt;ConnClose();<BR>    ob_start();<BR>    header("Content-type:application/vnd.ms-excel");<BR>    header("Content-Disposition:filename=$filename.xls");<BR>    echo $table_value;<BR>}<BR>?&gt;<BR></P>

rainic 发表于 2007-4-23 17:41

输出"\t"时就是列<BR>输出"\n"时就是行<BR>最后用 header("Content-type:application/vnd.ms-excel");以EXCEL输出.<BR>用header("Content-Disposition:filename=$filename.xls");输出EXCEL文件<BR>

lmhllr 发表于 2007-4-24 10:38

其实原理不难,就是header出excel头<BR><BR>然后echo出内容就行了,其他类型如word等也是一样的!<BR>

页: [1]

编程论坛