2014-02-10 5 views
1

Я новичок в php. и я хочу написать некоторые данные в файл excel, используя php. Я хочу использовать PHPExcel для этой цели, но я не знаю, как это сделать, я скачал и управляется в папках Clases и Expamles в моей папке проекта, то я попытался

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

только эти две строки, но его показ ошибку canoy открыть файл, тогда я создал файл excel по адресу C:\wamp\www\scrapproj\Classes\PHPExcel\Reader, снова он показывает ошибку в другой строке. Показатель ошибки:

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 находится в ErrorCode, но вы входите в «шаблон .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

Спасибо. Скопировано в текущее рабочее место. теперь, когда Im tring, чтобы сохранить его, показывая ошибку Warning: fopen (template1.xlsx): не удалось открыть поток: разрешено в C: \ wamp \ www \ scrapproj \ Classes \ PHPExcel \ Shared \ OLE \ PPS \ Root.php on line 90 Но мое разрешение файла excel устанавливается как неограниченный доступ. В чем проблема сейчас? – Salini

+0

Вместо того, чтобы копировать файл в текущее рабочее место, вы можете просто изменить текущее рабочее место, где находится файл с помощью команды ** chdir ('cvs'); **. Посмотрите на страницу getcwd.php, я привел вас – user1767754

1

Ответ на ваш обновленный вопрос (в будущем, пожалуйста, закрыть ответил на вопросы и задать новый вопрос)

Вы используете Excel5 Writer

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

Используется для записи BIFF формат файлов, которые должны иметь расширение .xls

Но вы сохраняете файл с расширением .xlsx

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

, который для файлов формата OfficeOpenXML


BIFF файлы, созданные с помощью Excel5 Writer и имеют расширение .xls

Файлы OfficeOpenXML создаются используя Writer Excel2007, и имеют расширение .xlsx


Не смешивать и сочетать, писатели и расширения не являются взаимозаменяемыми

+0

спасибо u за ur новую информацию – Salini

Смежные вопросы