いくつかの xls(x) ファイルを作成する必要がありますが、Kohana 3.2.2 フレームワークの適切な拡張機能 (モジュール) を知りません。PHPExcel については知っています (多くのリンクとリポジトリを見つけました)。私のプロジェクトでサポートしていないPEARライブラリで、おそらく誰かがそのための良い解決策を知っていますか?
そのため、適切なドキュメントとモジュールへのリンクが必要です。ありがとう。
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');