[英]how to merge cells in excel using php?
使用PHP我在Excel中导出了报告。但是卡在合并单元格中。 我想合并前10个单元格以显示公司名称。 具有公司名称的变量位于一个单元格中,试图合并这些单元格,但我不知道...
我用这个功能导出,
其中$query
变量保存作为参数发送的mysql查询,在$fieldname
变量中包含要显示标题的字段名称数组。
一切正常,n正常工作。 我不愿意做的一件事就是合并细胞。
function to_excel_export($query,$fieldName)
{
$filename = date('d-m-Y');
$headers = '';
$data = '';
$obj =& get_instance();
if ($query->num_rows() == 0)
{
echo '<p>The table appears to have no data.</p>';
}
else
{
for($i=0;$i<sizeof($fieldName);$i++)
{
$headers .= $fieldName[$i] . "\t";
}
foreach ($query->result() as $row)
{
$line = '';
foreach($row as $value)
{
if ((!isset($value)) OR ($value == ""))
{
$value = "\t";
}
else
{
$value = str_replace('"', '""', $value);
$value = '"' . $value . '"' . "\t";
}
$line .= $value;
}
$data .= trim($line)."\n";
}
$data = str_replace("\r","",$data);
header("Content-type: application/x-msdownload");
header("Content-Disposition: attachment; filename=$filename.xls");
$compName = 'C O M P A N Y - N A M E ';
echo $compName."\n\n";
echo $headers."\n".$data;
}
}
$compName = 'C O M P A N Y - N A M E ';
echo $compName."\n\n";
如何合并单元格以显示$compName
变量中的名称。
您不是在创建Excel文件,而是在创建CSV文件(在这种情况下为制表符分隔),并且该格式不支持任何格式(字体,颜色,甚至合并单元格都不是一种选择)。 ..而且您甚至都没有使用PHP的内置fputcsv()函数来这样做:(
仅仅给文件扩展名.xls并不能使它成为Excel文件。 MS Excel能够读取CSV文件,但是某些版本的Excel实际上会警告您在加载时格式不正确。
使用许多可用的库之一(例如PHPExcel)创建一个正确的Excel BIFF或OfficeOpenXML文件,然后就可以设置格式,例如单元格背景颜色。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.