2013-02-18 126 views
1

我有一個上傳頁面供用戶上傳excel文件,這是任務請求類型的一部分。我試圖在提交任務時擁有它,您可以單擊一個鏈接,然後顯示他們上傳的excel文件的html表格。 PHP-excel閱讀器可以很好地工作,但它不支持xlsx文件。我正在看PHPExcel,但不能完全理解我如何處理這些輸出並製作一個html表格。我也擔心我無法在PHP中支持ZipArchive。解析PHPExcel文件爲HTML

有誰知道他們已經將PHPExcel示例轉換爲html表格的示例嗎?

編輯:

下面的代碼是偉大的工作。它在腳本運行時創建一個新文件。我無法弄清楚如何正確地重命名文件。目前它將包含以下代碼的實際phpexcel.php文件重命名爲phpexcel.htm。我想以$inputFileName的名稱爲例,並將其重命名爲exceluploads/Book7.htm。我不知道這是否WS作爲改變$objWriter->save(path/name.htm);一樣簡單,但沒有工作,我收到:

Warning: fopen(/exceluploads/Book7.htm) [function.fopen]: failed to open stream: No such file or directory in /var/www/Classes/PHPExcel/Writer/HTML.php on line 164 

Fatal error: Uncaught exception 'Exception' with message 'Could not open file /exceluploads/Book7.htm for writing.' 

代碼:

<?php 

    /** Error reporting */ 
    error_reporting(E_ALL); 

    /** Include PHPExcel */ 
    require_once dirname(__FILE__) . '/Classes/PHPExcel.php'; 


    // Create new PHPExcel object 
    echo date('H:i:s') , " Create new PHPExcel object" , PHP_EOL; 
    $objPHPExcel = new PHPExcel(); 

    $inputFileName = 'exceluploads/Book7.xlsx'; 
    $objPHPExcel = PHPExcel_IOFactory::load($inputFileName); 

    echo date('H:i:s') , " Write to HTML format" , EOL; 
    $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'HTML'); 
    $objWriter->setSheetIndex(0); 
    //$objWriter->setImagesRoot('http://www.example.com'); 
    $objWriter->save(str_replace('.php', '.htm', __FILE__)); 

    echo date('H:i:s') , " File written to " , str_replace('.php', '.htm', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; 


    // Echo memory peak usage 
    echo date('H:i:s') , " Peak memory usage: " , (memory_get_peak_usage(true)/1024/1024) , " MB" , EOL; 

    // Echo done 
    echo date('H:i:s') , " Done writing file" , EOL; 
    echo 'File has been created in ' , getcwd() , EOL; 

    ?> 
+2

你看了17htm Tests/Examples目錄中的l.php? – 2013-02-18 16:21:02

+0

我看到它,但我不確定爲什麼我很困惑,以至於如何讓PHPExcel讀取某些文件。我到處尋找,無法弄清楚我可以告訴它讀取某個excel文件的位置。 – dcclassics 2013-02-18 16:41:48

+1

/exceluploads/Book7.htm!== exceluploads/Book7.htm - 這是文件系統路徑,而不是Web服務器路徑 – 2013-02-18 20:58:42

回答

8

要讀取文件:

$inputFileName = 'example.xls'; 
$objPHPExcel = PHPExcel_IOFactory::load($inputFileName); 

要寫一個文件:

$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'HTML'); 
$objWriter->save('example.html'); 
+0

我編輯了我的原始文章,似乎沒有必要發佈一個新的,您的示例工作很好,我只是有一個命名文件的問題。 – dcclassics 2013-02-18 18:27:43