2014-02-11 63 views
3

我是PHP新手。我想創建一個Excel文件。我試過了下面的代碼。 無法在服務器上創建Excel文件

<?php 
    $loc= getcwd(); 
    require_once "Classes/PHPExcel/IOFactory.php"; 

    $objTpl = new PHPExcel(); 
    $objTpl->setActiveSheetIndex(0); 
    $objTpl->getActiveSheet()->setCellValue('A1', 'URL'); 
    $objTpl->getActiveSheet()->setCellValue('B1', 'No of post'); 
    $j=2; 
if (!ini_get('safe_mode')) 
{ 
    set_time_limit(0); 
} 
ini_set('memory_limit', '2700M'); 
error_reporting(0); 
header('Content-Type:text/html; charset=UTF-8'); 

$filepath = 'csv/sample.csv'; 
require_once './File_CSV_DataSource.php'; 
include_once('simple_html_dom.php'); 

$csv = new File_CSV_DataSource; 

//$date=getdate(); 
$objTpl->getActiveSheet()->getColumnDimension('A')->setWidth(40); 
$objTpl->getActiveSheet()->getColumnDimension('B')->setWidth(15); 
$objWriter = new PHPExcel_Writer_Excel2007($objTpl); 

echo $loc; 
$date = date('Y-m-d'); 
$objWriter->save($loc.'/result/'.$date.'.xlsx'); 
    $objTpl->disconnectWorksheets(); 
    unset($objWriter, $objTpl);  ?> 

的代碼工作正常,我的本地機器上,而不是我的服務器上。爲什麼它不起作用?

+0

其服務器位置在打印這樣的/ home/cyberweb /的public_html/CSMA – Salini

+0

檢查,如果你有權限在你的服務器上寫入權限。你可以使用['is_writable'](http://in.php.net/manual/en/function.is-writable.php) –

+0

「不工作」並沒有完全說明問題。你有沒有完成** ANY **自己的基本調試?也許你忘了一個庫,並且你的require()調用失敗了。也許這是一個權限問題,你不能寫在服務器上的文件,等等等等等等...... –

回答

1

PHPExcel的一個先決條件是,如果要處理zip壓縮文件(例如xlsx或ods文件),則ZipArchive類已啓用。

如果你沒有安裝ZipArchive,那麼PHPExcel有一個使用PCLZip的內置選擇,儘管它速度較慢,內存消耗較大。它默認是禁用的,因爲ZipArchive是首選的方法,並且應該可用於大多數PHP版本;但可以使用

PHPExcel_Settings::setZipClass(PHPExcel_Settings::PCLZIP); 

讀取或保存是任何文件之前啓用拉鍊爲主

相關問題