使用PHP创建和编写excel文件

时间:2013-12-10 06:51:08

标签: php

 fputcsv($fp, $fields[0]);

它返回: fputcsv()期望参数2是数组,字符串在....中给出

我的数组在哪里:Arr​​ay([0] => Murshidabad [value] => Murshidabad)....

我的问题是在PHP中如何以excel行方式写入值(即新行但相同的列条目是rqrd)。

我的代码段是:

$list = mysql_fetch_array($result);
foreach($list as $arr){
        fputcsv($fp,  $list ,"\r\n");
}

6 个答案:

答案 0 :(得分:0)

 while($list = mysql_fetch_array($result)){
     fputcsv($fp, $list);
 }

答案 1 :(得分:0)

您可以使用此示例

$list = array (
array('#', 'Registrar', 'Country', 'Website', 'Email Address'),
array('123', '456', '789', 'aaa', 'bbb'),
array('123', '456', '789', 'aaa', 'bbb'),
);

$fp = fopen('registrars.xls', 'w');

foreach ($list as $fields) {
fputcsv($fp, $fields, "\t", '"');
}

fclose($fp);

或者您可以使用http://phpexcel.codeplex.com/

答案 2 :(得分:0)

可选的分隔符参数设置字段分隔符(仅限一个字符)。

参考:http://php.net/manual/en/function.fputcsv.php

答案 3 :(得分:0)

工作代码段是:

$fp = fopen(time().'.xls', 'w');
    $sql = "<your query here>";
    $result = mysql_query($sql);
    while($modelRow =mysql_fetch_row($result,MYSQL_ASSOC)){
        $val = $modelRow[$fieldname];
        fwrite($fp, "\"{$val}\"\r\n"); 
    }
    fclose($fp);

答案 4 :(得分:0)

你在 fputcsv 中使用$ list是吗? 试试这个:

$list = mysql_fetch_array($result);
foreach($list as $arr){
        fputcsv($fp,  $arr,"\n");
}

分隔符应该只有一个字符。

答案 5 :(得分:0)

WriteExcel.php代码如下:

$info=$_POST['info'];

$fp = fopen('sample.xls', 'w');

foreach ($info as $fields) {
     fputcsv($fp, $fields, "\t", '"');
}

fclose($fp);

上面的PHP文件可以使用AJAX调用来调用JavaScript:

$.ajax({
   type: "POST",
   data: {info:info},
   url: "WriteExcel.php",
   success: function(msg){
       alert(msg);
    }
});