使用php我在excel中导出报告但是在合并单元格中陷入困境。 我想将前10个单元格合并为显示公司名称。 具有公司名称的变量位于一个单元格中,尝试合并单元格,但我不知道......
答案 0 :(得分:1)
我用这个功能导出,
其中$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
变量中的名称。
答案 1 :(得分:0)
您没有创建Excel文件,您正在创建CSV文件(在这种情况下分隔标签),并且该格式不支持任何类型的格式(字体,颜色,甚至合并单元格isn& #39;是一个选项)....你甚至没有使用PHP的内置fputcsv()函数来实现这一目标:(
简单地为文件提供.xls的扩展名并不能使其成为Excel文件。 MS Excel能够读取CSV文件,但某些版本的Excel实际上会警告您加载时格式不正确。
使用可用的许多库之一(例如PHPExcel)创建正确的Excel BIFF或OfficeOpenXML文件,然后您就可以设置格式化,例如单元格背景颜色。