2013-02-16 3 views
0

Мне нужно составить некоторые файлы xls (x), но не знаю хорошего расширения (модуля) для структуры Kohana 3.2.2, я знаю о PHPExcel (много ссылок и ссылок, которые я нашел), но большая часть они основаны на библиотеке PEAR, которую я не поддерживаю в своем проекте, может быть, кто-то знает хорошее решение для этого?Есть ли хорошее расширение (модуль) для структуры Kohana 3.2.2, работающее с файлами Excel?

Для этого мне нужна ссылка с хорошей документацией и модулем. Благодарю.

UPD.

Я сделал первый тест для PHPExcel библиотек через этот код:

$objPHPExcel = new PHPExcel(); 
      $objPHPExcel->setActiveSheetIndex(0) 
       ->setCellValue('A1', 'Hello') 
       ->setCellValue('B1', 'world!'); 

      // header("Content-Type:application/vnd.ms-excel"); 
      // header("Content-Disposition:attachment;filename='simple.xls'"); 

      $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel,'Excel2007');  
      $name = $objWriter->save('docs/MyExcel12.xlsx'); 

      $file = $_SERVER['DOCUMENT_ROOT']."/docs/MyExcel12.xlsx"; 
      /*  
      if (file_exists($file)) 
      { 
       header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); 
       header('Content-Disposition: attachment; filename='.basename($file)); 
       header('Content-Length: '.filesize($file)); 
       readfile($file);     
      }*/ 

      if (file_exists($file)) 
      { 
       header('Content-Type: application/octet-stream'); 
       header('Content-Disposition: attachment; filename='.basename($file)); 
       header('Content-Length: '.filesize($file)); 
       readfile($file); 
      } 

Я вижу файл, который был создан после того, как применить этот код, но браузер не навязывает загрузить его, так как вы можете видеть, я использовал разные заголовки, но у меня нет моего файла. Помогите!?

UPD Также я использовал:

  header("Content-Type:application/vnd.ms-excel"); 
      header("Content-Disposition:attachment;filename='simple.xls'"); 

      $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel,'Excel5'); 
      $objWriter->save('php://output'); 

Но есть ошибка (вместо файла):

net::ERR_FILE_NOT_FOUND 

Я сделал редирект, но, как я думаю, что это не решение в любом случае :

$this->request->redirect('docs/new.xlsx'); 
+0

PHPExcel имеет абсолютно __NO__ зависимости от PEAR –

+0

Используете ли вы этот код в 'Controller_Template' или' Controller'? –

ответ

1

Интеграция PHPExcel в Кохану http://www.flynsarmy.com/2010/07/phpexcel-module-for-kohana-3/

+0

Спасибо, но в какой директории я должен загрузить класс Spreadsheet? – Smash

+0

В соответствии с примечаниями, он находится в каталоге classes/vendor/phpexcel –

+0

В модулях? Или приложение/классы? – Smash