2012-10-22 73 views
0

我想使用php生成excelsheet,那麼哪種方法或代碼更適合用於生成動態excelsheet?請查看屏幕截圖,以瞭解我面臨的問題。 screenshot of required excel sheet format 請問,任何人都可以幫我解決這些問題?提前致謝。使用php生成excel表單使用很少的非可編輯單元格

我正在使用下面的代碼示例。

$result = mysql_query("SELECT * FROM ".$pre."customers"); 
    if (!$result) die('Couldn\'t fetch records'); 
    $num_fields = mysql_num_fields($result); 
    $headers = array(); 

    for ($i = 0; $i < $num_fields; $i++) 
    { 
     $headers[] = mysql_field_name($result , $i); 
     mysql_field_name($result , $i); 
    } 

    $fp = fopen('php://output', 'w'); 
    if ($fp && $result) 
    { 
      header('Content-Type: text/csv'); 
      header('Content-Disposition: attachment; filename="export1.csv"'); 
      header('Pragma: no-cache'); 
      header('Expires: 0'); 
      fputcsv($fp, $headers); 

      while ($row = mysql_fetch_row($result)) 
      { 
       fputcsv($fp, array_values($row)); 
      } 

      die; 
    } 

但我不認爲我可以將任何單元格鎖定到此Excel表單中。那麼哪個php方法或類適合用來生成excelsheet以供我使用?

+0

Stackoverflow建議具體問題。放置一些代碼,並解釋什麼是意想不到的,然後有人可能會嘗試提供幫助。 – mrd

+0

可以通過以上描述足以由某人回答嗎? –

+0

這更好。還要考慮添加標籤,如JQuery和PHP。這樣可以幫助你的問題得到更多關注。 – mrd

回答

0
public function get_excel($err = array()) 
{ 

    // Clear any previous output 
ob_end_clean(); 
// I assume you already have your $result 
$search = ($this->uri->segment(2))?$this->uri->segment(2):'key'; 
$result=mysql_query("select * from job"); 
$num_fields = mysql_num_fields($result); 


// Fetch MySQL result headers 
$headers = array(); 
//$headers[] = "serial no"; 
for ($i = 0; $i < $num_fields; $i++) { 


    $headers[] = strtoupper(mysql_field_name($result , $i)); 
} 


// Filename with current date 
$current_date = date("y/m/d"); 
$filename = "MyFileName" . $current_date . ".csv"; 

// Open php output stream and write headers 
$fp = fopen('php://output', 'w'); 
if ($fp && $result) { 
    header('Content-Type: text/csv'); 
    header('Content-Disposition: attachment; filename='.$filename); 
    header('Pragma: no-cache'); 
    header('Expires: 0'); 

    // Write mysql headers to csv 
    fputcsv($fp, $headers); 
    //$row_tally = 0; 
    // Write mysql rows to csv 
    while ($row = mysql_fetch_array($result, MYSQL_NUM)) { 
    // $row_tally = $row_tally + 1; 
    //echo $row_tally.","; 
     fputcsv($fp, array_values($row)); 
    } 
    die; 
} 

} 
0

看起來好像你想要更多的CSV超出可能。你知道excel中的導入函數嗎?你可以很容易地設置文件,只接收來自你自己的PHP服務等CSV(下半部分)的動態內容...

我的Excel版本是丹麥語,但它的det數據選項卡和類似「從互聯網「:)

+0

感謝您的回覆。讓我試試這個問題的另一個解決方案。因爲我無法準確解釋我需要什麼。再次感謝。 –

相關問題