繁体   English   中英

使用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;

?>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM