![](/img/trans.png)
[英]how to export and then download a excel file with ajax call in background in php
[英]how to export an excel in php with columns background coloured?
我正在嘗試使用以下代碼導出Excel-
$data = array(
array("firstname" => "Mary", "lastname" => "Johnson", "age" => 25),
array("firstname" => "Amanda", "lastname" => "Miller", "age" => 18),
array("firstname" => "James", "lastname" => "Brown", "age" => 31),
array("firstname" => "Patricia", "lastname" => "Williams", "age" => 7),
array("firstname" => "Michael", "lastname" => "Davis", "age" => 43),
array("firstname" => "Sarah", "lastname" => "Miller", "age" => 24),
array("firstname" => "Patrick", "lastname" => "Miller", "age" => 27)
);
function cleanData(&$str)
{
$str = preg_replace("/\t/", "\\t", $str);
$str = preg_replace("/\r?\n/", "\\n", $str);
if(strstr($str, '"')) $str = '"' . str_replace('"', '""', $str) . '"';
}
$filename = "website_data_" . date('Ymd') . ".xls";
header("Content-Disposition: attachment; filename=\"$filename\"");
header("Content-Type: application/excel");
$flag = false;
foreach($data as $row)
{
if(!$flag){
echo implode("\t", array_keys($row)) . "\r\n";
$flag = true;
}
array_walk($row, __NAMESPACE__ . '\cleanData');
echo implode("\t", array_values($row)) . "\r\n";
}
exit;
上面的代碼對於導出excel來說工作正常,但是我希望excel的標頭可以使用任何特定的顏色進行着色,但是找不到任何可以做到這一點的方法。 請幫忙。
您要導出的是制表符分隔的* .csv文件,而不是xlsx。
如果你想申請必須導出造型/使用類似產生一個真正的XLSX文件https://github.com/box/spout , https://github.com/PHPOffice/PHPExcel或(無恥插頭) /:HTTPS /github.com/nimmneun/onesheet
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.