2012-01-18 18 views
1

たとえば、私はそのようなコードを使用しています:ブラウザにExcelファイルを表示する。 PHPExcel

<?php 

    require_once("D:\server/www/cls/PHPExcel.php"); 
    require_once("D:\server/www/cls/PHPExcel/IOFactory.php"); 

    $objPHPExcel = new PHPExcel(); 

    $objPHPExcel->setActiveSheetIndex(0)->setCellValue('B2', 'HeaderB');  
    $objPHPExcel->setActiveSheetIndex(0)->setCellValue('C2', 'HeaderC'); 
    $objPHPExcel->setActiveSheetIndex(0)->setCellValue('D2', 'HeaderD');  
    ob_end_clean(); 

    header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); 
    header("Cache-Control: no-store, no-cache, must-revalidate"); 
    header("Cache-Control: post-check=0, pre-check=0", false); 
    header("Pragma: no-cache"); 
    header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); 
    header('Content-Disposition: attachment;filename="report.xlsx"'); 

    $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); 
    ob_end_clean(); 

    $objWriter->save('php://output'); 
?> 

それはreport.xlsxファイルをダウンロードし、ブラウザで表示されません。どうすればいいですか?

ありがとうございます!

答えて

3

は、ユーザーがあまりにもExcelファイルを閲覧できるブラウザで何かを持っている必要があります...

header('Content-Disposition: attachment;filename="report.xlsx"'); 

をこの行を削除します。

+0

これは面白いです。今は '* .php'ファイルそのものをダウンロードしています:)何が問題なのですか?コンテンツの配置ヘッダーを削除しました。 – lexeme

+0

@helicera:ファイル名に 'xlsx'拡張子を付ける必要があります。 – alex

+0

コードにヘッダーが含まれていないことを確認してください。最初から確認するか、ヘッダーを検索してください。私の持っているものの中に1つの見出しがあることを実感するのに2時間かかりました。 –

関連する問題