2011-02-26 57 views
0

我想改變只是一個前場設定PHPExcel值:
例如之前的電話號碼設置001改變一個字段PHPExcel

 

.... 

if ($result = $DB->execute($sql) or die(mysql_error())) { 
    $objPHPExcel = new PHPExcel(); 
    $objPHPExcel->getActiveSheet()->setTitle('List'); 
    $rowNumber = 1; 
    while ($row = mysql_fetch_row($result)) { 
     $col = 'A'; 
     foreach ($row as $cell) { 
      $objPHPExcel->getActiveSheet()->setCellValue($col.$rowNumber, .'001 '.$row['phone']); 
      $objPHPExcel->getActiveSheet()->setCellValue($col . $rowNumber, $cell); 
      $col++; 
     } 
     $rowNumber++; 
    } 
    $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); 
    header('Content-Type: application/vnd.ms-excel'); 
    header('Content-Disposition: attachment;filename="myFile.xls"'); 
    header('Cache-Control: max-age=0'); 
    $objWriter->save('php://output'); 
    exit(); 
} 


 
+3

究竟是什麼問題?你有錯誤嗎?做一些「不行」*(如果是這樣,你會得到什麼結果?)*? – 2011-02-26 11:49:55

+0

有沒有致命錯誤? – 2011-02-26 11:55:24

+0

PS。爲什麼會有第二個setCellValue行覆蓋第一個的行爲,並嘗試將單元格對象本身存儲爲單元格值? – 2011-02-27 11:27:50

回答

1
$objPHPExcel->getActiveSheet() 
      ->setCellValueExplicit($col.$rowNumber, .'001 '.$row['phone'], PHPExcel_Cell_DataType::TYPE_STRING); 

或設置的數字格式掩碼使用必要的數字位數,如果數字較短,則數字將返回前導零。