2010-01-09 27 views

回答

1

我用這個功能來導出,

其中$query變量保存在MySQL查詢是作爲參數發送, 和$fieldname變量,字段名的陣列以顯示標題。

一切正常,正正常工作。 一件事我cudn't做的是合併單元格....

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變量名。

+0

任何1可以幫助嗎?即使我需要這個 – 2012-12-20 07:47:03

0

你不是創建一個Excel文件,你要創建一個CSV文件(製表在這種情況下分開),以及格式不支持任何形式的格式(字體,顏色,甚至合併單元格不是一個選項)....你甚至沒有使用PHP的內置fputcsv()函數來做到這一點:(

簡單地給一個文件擴展名.xls不會使它成爲一個Excel文件。能夠讀取CSV文件,但某些版本的Excel實際上會警告您在加載時格式不正確

使用可用的許多庫之一創建適當的Excel BIFF或OfficeOpenXML文件(比如PHPExcel),然後你就可以選擇t格式化,如單元格背景顏色。

相關問題