使用php导出xls文件

时间:2015-02-10 06:30:43

标签: php mysql export-to-excel

我想在xls文件中导出数据,我已经这样做但问题是所有数据都不是标签格式,所有数据都带有',' seprated, 我的代码没有什么问题,我在这里粘贴我的代码请检查并给我正确的解决方案

$column = array("id", "name","description","status","cname","agency","phone","website");
    $writecolumn = array("ID", "Artis Name","Description","Status","Category Name","Agency Name","Phone Number","Website");
    $csv_export='';
    $categoryname=$results[0]['cname'];
    for($i = 0; $i < count($column); $i++)
    {
        $csv_export.= '"'.$writecolumn[$i].'",';
    }
    $csv_export.= "\n";
    for($j = 0; $j < count($results); $j++)
    {
        for($i = 0; $i < count($column); $i++)
        {
        $csv_export.= '"'.$results[$j][$column[$i]].'",'; 
        } 
        $csv_export.= "\n";
    }
    $filename = $categoryname."-Category-Artist-Data.xls";
    }
    else
    {
    $csv_export.= "\n";
    $csv_export.= "No Record Found";
    $filename = "Blank.xls";
    }

    header('Content-type: application/xls');
    header('Content-Disposition: attachment; filename='.$filename);
    echo $csv_export;
    exit;

我的阵列就像这样

    Array
   (
    [0] => Array
    (
        [id] => 529
        [name] => Fabiana Karla
        [description] => O orçamento abaixo será enviado diretamente para o empresário exclusivo do artista ou agente autorizado. Tenha sempre o melhor preço e a segurança de estar negociando direto com os empresários oficiais dos artistas.
        [status] => 0
        [cname] => Comediante
        [agency] => 
        [phone] => 
        [website] => 
    )

[1] => Array
    (
        [id] => 530
        [name] => Fafy Siqueira
        [description] => O orçamento abaixo será enviado diretamente para o empresário exclusivo do artista ou agente autorizado. Tenha sempre o melhor preço e a segurança de estar negociando direto com os empresários oficiais dos artistas.
        [status] => 0
        [cname] => Comediante
        [agency] => 
        [phone] => 
        [website] => 
    )

   )

您可以在此处查看图片http://i.stack.imgur.com/LolAS.png

4 个答案:

答案 0 :(得分:0)

检查此代码。您需要使用“\ t”更改“,”以分隔标签

    $column = array("id", "name","description","status","cname","agency","phone","website");
    $writecolumn = array("ID", "Artis Name","Description","Status","Category Name","Agency Name","Phone Number","Website");
    $csv_export='';
    $categoryname=$results[0]['cname'];
    for($i = 0; $i < count($column); $i++)
    {
        $csv_export.= '"'.$writecolumn[$i].'"\t';
    }
    $csv_export.= "\n";
    for($j = 0; $j < count($results); $j++)
    {
        for($i = 0; $i < count($column); $i++)
        {
        $csv_export.= '"'.$results[$j][$column[$i]].'"\t'; 
        } 
        $csv_export.= "\n";
    }
    $filename = $categoryname."-Category-Artist-Data.xls";
    }
    else
    {
    $csv_export.= "\n";
    $csv_export.= "No Record Found";
    $filename = "Blank.xls";
    }

    header('Content-type: application/xls');
    header('Content-Disposition: attachment; filename='.$filename);
    echo $csv_export;
    exit;

答案 1 :(得分:0)

您必须使用“\ t”作为选项卡,使用“\ n”作为新行。它可以使用。

答案 2 :(得分:0)

使用此功能将对您有用

for($i = 0; $i < count($column); $i++)
    {
        $csv_export.= $writecolumn[$i]."\t" ;
    }
    $csv_export.= "\n";
    for($j = 0; $j < count($results); $j++)
    {
        for($i = 0; $i < count($column); $i++)
        {
        $csv_export.= $results[$j][$column[$i]]."\t"; 
        } 
        $csv_export.= "\n";
    }

答案 3 :(得分:0)

您可以使用此代码。它正在发挥作用。

$results = array('0'=>array('id'=>529,'name'=>'Fabiana Karla','description'=>'O orçamento abaixo será enviado diretamente para o empresário exclusivo do artista ou agente autorizado. Tenha sempre o melhor preço e a segurança de estar negociando direto com os empresários oficiais dos artistas.','status'=>0,'cname'=>'Comediante','agency'=>'','phone'=>'','website'=>''),'1'=>array('id'=>530,'name'=>'Fafy Siqueira Karla','description'=>'O orçamento abaixo será enviado diretamente para o empresário exclusivo do artista ou agente autorizado. Tenha sempre o melhor preço e a segurança de estar negociando direto com os empresários oficiais dos artistas.','status'=>0,'cname'=>'Comediante','agency'=>'','phone'=>'','website'=>''));

$column = array("id", "name","description","status","cname","agency","phone","website");
$writecolumn = array("ID", "Artis Name","Description","Status","Category Name","Agency Name","Phone Number","Website");
$csv_export='';

for($i = 0; $i < count($column); $i++)
{
    $csv_export.= '"'.$writecolumn[$i].'",';
}
$csv_export.= "\n";

for($j = 0; $j < count($results); $j++)
{
    for($i = 0; $i < count($column); $i++)
    {
       $csv_export.= '"'.$results[$j][$column[$i]].'",'; 
    }
    $csv_export.= "\n";
}

if(!empty($results)){
$filename = $categoryname."-Category-Artist-Data.xls";
}
else
{
$csv_export.= "\n";
$csv_export.= "No Record Found";
$filename = "Blank.xls";
}

header('Content-type: application/xls');
header('Content-Disposition: attachment; filename='.$filename);
echo $csv_export;
exit;

&GT;