关于php 生成EXECL的问题~!【已解决】

关于php 生成EXECL的问题~!【已解决】

最近给客户做了套系统,本来是要求可以通过PHP从数据库中导出EXECL的功能,这个问题已经解决!~ 照抄网上的!

最近客户又提出新的要求,生成的EXECL文件可以自动放到服务器的指定路径中! 即:点数据导出后,会自动在服务器指定路径生成一个EXECL文件,里面当然是导出的数据。

希望会的朋友帮忙解决! 不甚容谢~!

我生成EXECL的代码如下

[复制到剪切板]
CODE:
<?php
ob_start
();
//header("content-type:text/html;charset=utf-8");
$title "所有上行短信的数据资料,此次导出时间为:" date("Y-m-d H:i:s");
$conn = @mysql_connect("服务器""用户名""密码") or die("错误");
@
mysql_select_db("数据库名"$conn);
header("Content-Type: application/vnd.ms-excel");
header("Content-Disposition: attachment; filename=test.xls");
header("Pragma: no-cache");
header("Expires: 0");
echo 
'<table border="1" cellspacing="2" cellpadding="2" width="50%" align="center">';
echo 
'<tr bgcolor="#cccccc"><td colspan="3" align="center">' $title '</td></tr>';
$query "select * from student";
$result mysql_query($query) or die(mysql_error());
$fields mysql_num_fields($result);
$num_rows mysql_num_rows($result);
echo 
'<tr bgcolor="blue">';
for(
$i 0$i $fields$i++) {
echo 
iconv("UTF-8","gb2312",'<td>' mysql_field_name($result$i) .'</td>');
}
echo 
'</tr>';
while(
$row mysql_fetch_row($result)) {
    echo 
'<tr>';
    for(
$i 0$i<$fields$i++) {
  echo 
'<td>' $row[$i] . '</td>';
    }
    echo 
'</tr>';
}
echo 
'<tr bgcolor="#cccccc"><td colspan="3" align="center">一共有<font color=FF0000>' .$num_rows '</font>条记录,导出时间为:' date("Y-m-d H:i:s").'</td></tr>';

echo 
'</table>';
?> ;


[ 本帖最后由 piaozhiliu 于 2008-9-7 14:07 编辑 ]

把excel的内容,你上面的就是那个table的内容。
用fwrite写到服务器的test.xls看看行不行咯。你测试下咯。
如履薄冰

问题继续中~!

现在我已经可以在服务器上创建文件~! 2楼的说用fwrite想XLS文件中写数据,单个的我是会的,可是我用SQL查询出来的信息应该怎么写进去!  因为要分行和列的啊~!

一次性写进去的啊。
你上面查询出来的信息是echo出来的。
你不要echo出来,把它保存在一个变量$str里,然后fwrite

[复制到剪切板]
CODE:
$str =  '<table border="1" cellspacing="2" cellpadding="2" width="50%" align="center">';
$str .=  '<tr bgcolor="#cccccc"><td colspan="3" align="center">' $title '</td></tr>';
...
...
$fp fopen("test.xls""w");
fwrite($fp$str);
fclose($fp); ;

如履薄冰

非常感谢 我不是鱼  目前测试基本成功!~  谢谢