2014-02-10 69 views
1

我是新來的PHP。我想用php寫一些數據到excel文件。我想用PHPExcel用於此目的,但我不知道該怎麼做,我已經下載併科佩斯的文件夾Clases和Expamles到我的項目文件夾,然後我試圖

require_once "Classes/PHPExcel/IOFactory.php"
$objTpl = PHPExcel_IOFactory::load("template.xlsx");

只是這兩條線,但它的顯示錯誤canoy打開文件,然後我在C:\wamp\www\scrapproj\Classes\PHPExcel\Reader的位置創建了一個excel文件,並在另一行顯示錯誤。顯示的錯誤是

Fatal error: Uncaught exception 'PHPExcel_Reader_Exception' with message 'Could not open tempplate.xlsx for reading! File does not exist.' in C:\wamp\www\scrapproj\Classes\PHPExcel\Reader\Excel2007.php on line 82

請有人幫我解決這個問題。
更新
現在我已經更新了我的如下代碼

$objTpl = PHPExcel_IOFactory::load("template1.xlsx");
$objTpl->setActiveSheetIndex(0);
$objTpl->getActiveSheet()->setCellValue('A2', 'PHPExcel');
// $filename=mt_rand(1,100000).'.xlsx';
$objWriter = PHPExcel_IOFactory::createWriter($objTpl, 'Excel5');
if(is_readable('template1.xlsx'))
{
$objWriter->save('template1.xlsx');
}


現在它的它的運行沒有任何錯誤。但在運行頁面後,我不能打開Excel文件直接的顯示錯誤

Excel canot open the file template1.xlsx because the file format or its extension is not valid

請幫我解決這個問題錯誤在PHPExcel

+1

tempplate.xlsx是在錯誤代碼,但你正在進入「模板.xlsx「? – user1767754

+0

哦對不起,這是錯誤的鍵入。其實那不是問題。 – Salini

+0

@ user1767754在我缺少的安裝過程中是否需要執行其他任何步驟? – Salini

回答

2

您正在尋找在當前工作目錄中的文件,你可以使用GETCWD命令看看你的工作目錄是什麼。

1)

echo getcwd() . "\n"; 

http://www.php.net/manual/de/function.getcwd.php

另外檢查是否有對文件的權限。

2)

is_readable($filename) 

http://www.php.net/manual/en/function.is-readable.php

+0

謝謝。應對當前工作地點。現在當我想保存它顯示一個錯誤警告:fopen(template1.xlsx):未能打開流:權限被拒絕在C:\ wamp \ www \ scrapproj \ Classes \ PHPExcel \ Shared \ OLE \ PPS \ Root.php on第90行但我的excel文件的權限設置爲無限制訪問。現在有什麼問題? – Salini

+0

除了將文件複製到當前工作位置外,您可以將當前工作位置更改爲文件與** chdir('cvs'); **命令的位置。看看我列出你的getcwd.php頁面 – user1767754

1

回答你的問題的更新(在未來,請關閉回答問題,並提出新問題)

您使用的是Excel5作家

$objWriter = PHPExcel_IOFactory::createWriter($objTpl, 'Excel5'); 

這是用於寫作BIFF個格式的文件,它應該具有擴展.xls

但你將文件保存與.xlsx擴展

$objWriter->save('template1.xlsx'); 

這是OfficeOpenXML格式文件


BIFF文件使用創建Excel5 Writer,擴展名爲.xls

OfficeOpenXML文件已創建使用Excel2007的作家,並有.XLSX


延期不要混搭,作家和擴展是不能互換的

+0

感謝你爲我們提供的新信息 – Salini