使用 php 导出 xls 文件

Export xls file using php

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

$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

检查此代码。您需要将“,”更改为制表符分隔的“\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;

您必须使用“\t”作为制表符,使用“\n”作为换行符。您可以使用它。

使用这个对你有用

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";
    }

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

$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;

?>