繁体   English   中英

如何使用PHP合并Excel中的单元格?

[英]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.

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