如何使用php在excel中设置背景单元格颜色

时间:2014-01-28 08:04:07

标签: php excel

如何在使用php创建XLS时将颜色设置为标题,请参阅下面的代码,任何人都可以指导我如何操作。谢谢

$sql_select= "******";
$queryRes = mysql_query($sql_select);

//print $sql_select;
$header = "Country" . "\t";
$header .= "Network" . "\t";
$header .= "MCC" . "\t";
$header .= "MNC" . "\t";
$header .= "ClientPrice" . "\t";
$header .= "Currency" . "\t";

//Reading the data thro' POST
$data="";
$data1 = array();
$data1[]= "Country";
$data1[]= "Network";
$data1[]= "MCC";
$data1[]= "MNC";
$data1[]= "ClientPrice";
$data1[]= "Currency";
$data= join("\t", $data1)."\n";


while( $row = mysql_fetch_assoc($queryRes)){
$row1 = array();
$row1[] = $row['country'];
$row1[] = $row['networkname'];
$row1[] = $row['mcc'];
$row1[] = $row['mnc'];
$row1[] = $row['clientprice'];
$row1[] = $row['currency'];
$data .= join("\t", $row1)."\n";
//$data= $first_name."\t";
//$data .= $row['originator']."\t";
}

$attachment_current= "Price Notification "."_$attachment_date";

file_put_contents("/data/data/www/fms/pricelists/$attachment_current.xls",$data);
//print "$header\n$data";

1 个答案:

答案 0 :(得分:3)

你没有创建一个Excel文件,你正在创建一个CSV文件(在这种情况下分隔标签),并且该格式 NOT 支持任何类型的格式(字体,颜色,甚至合并单元格不是一个选项)....你甚至没有使用PHP的内置fputcsv()函数来执行此操作:(

简单地为.xls提供扩展名的文件不会使其成为Excel文件。 MS Excel能够读取CSV文件,但是某些版本的Excel实际上会在加载时警告您格式不正确。

使用可用的许多库之一(例如PHPExcel)创建正确的Excel BIFF或OfficeOpenXML文件,然后您就可以设置格式化,例如单元格背景颜色。