2014-03-12 35 views
0

我試圖打開Excel表格並向其中插入少量記錄。但是,它不工作。 這裏是我的代碼無法使用PhpExcel將數據插入Excel表格

  $objReader = PHPExcel_IOFactory::createReader('Excel2007'); 
      //we load the file that we want to read 
      $objPHPExcel = PHPExcel_IOFactory::load("/home/bigc/Desktop/test.xlsx"); 
      $objPHPExcel->setActiveSheetIndex(0); 

      // Change the file 
      $objPHPExcel->setActiveSheetIndex(0) 
         ->setCellValue('A1', 'Hello') 
         ->setCellValue('B1', 'World!'); 

      // Write the file    
      $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); 
      error_reporting(E_ALL); 
      ini_set('display_errors', 1); 
      $objWriter->save("/home/bigc/Documents/test.xlsx"); 

      //we save 
      $objWriter->save(); 

它拋出的錯誤是

致命錯誤:「無法關閉zip文件/home/bigc/Documents/test.xlsx」未捕獲的異常「PHPExcel_Writer_Exception」有消息in /home/bigc/Development/Development/Classes/PHPExcel/Writer/Excel2007.php:399堆棧跟蹤:#0 /home/bigc/Development/Development/Upload.php(39):PHPExcel_Writer_Excel2007-> save('/ home/bigc/Docu ...')#1 {main}拋入/home/bigc/Development/Development/Classes/PHPExcel/Writer/Excel2007.php on line 399

我已經設置了讀取&寫入權限。任何幫助將不勝感激。

+0

導致此錯誤的唯一原因是無效的文件路徑,權限或者文件已被其他進程打開/鎖定.... PHP safe_mode或base_dir可以限制以其他有效權限訪問文件路徑,如suhosin補丁 –

+0

嗨@MarkBaker,我檢查了文件權限。我已經將它們設置爲讀取和寫入,並且文件尚未打開,當我點擊aptana studio的路徑時,它將我帶到文件中。所以,這意味着該文件存在,此外,它爲什麼會顯示「無法關閉zip文件」? –

+0

我完全不知道,你已經清楚地發現了第四種情況,可能會導致這個問題;但除非這個原因可以孤立,那麼我什麼都不能做,以幫助 –

回答

0

但是,這是問題,你正試圖寫在桌面上的文件的頂部。這不是你的代碼或phpexcel的問題。這是關於權限。嘗試將文件保存到其他位置,然後保存到同一位置,但使用不同的名稱。當前文件是偶然讀取的嗎?繼續追逐權限問題。

+0

我也更改爲目標文件。那麼加載桌面文件的原因是什麼?我已經把文件放在$ objWriter-> save(「/ home/bigc/Documents/test.xlsx」)中; ..仍然是不同位置的同一個東西..我更新了錯誤。請檢查一下。 –

+0

爲了幫助確定問題,我將這兩行添加到程序的頂部「file_put_contents('/ home/bigc/Documents/test.xlsx','測試文件');」和「unlink('/ home/bigc/Documents/test.xlsx');」如果這兩行工作,並且你到達了phpexcel代碼,那麼我們可以調試Mark的代碼。如果你從來沒有那麼遠,那麼它指向一個系統管理問題,而不是phpexcel或你的程序的問題。 –

+0

感謝您的回覆。這兩條線是有效的。 「測試文件」被添加到Excel表格中。但是,不是我放在那裏的代碼。 –

相關問題