システムからのデータを含むExcelファイルを生成するアプリケーションに取り組んでいます。Excelファイルはデスクトップで正常に生成およびダウンロードされますが、Androidタブレットにダウンロードしようとすると開きません。ダウンロードは正常ですが、開くと、有効なMSExcelファイルではないというメッセージが表示されます。
ダウンロードしようとしているドキュメントは、ページの上部に次のヘッダーが付いたphpスクリプトから生成されています。
header('Pragma: public');
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: pre-check=0, post-check=0, max-age=0');
header('Pragma: no-cache');
header('Expires: 0');
header('Content-Transfer-Encoding: none');
header('Content-Type: application/vnd.ms-excel;');
header('Content-type: application/x-msexcel');
header('Content-Disposition: attachment; filename="Report.xls"');
// code below
ヘッダーのさまざまなバリエーションを試しましたが、何も機能しません。ダウンロードは、実行されるアイコンをクリックすることから始まります。
top.document.location = 'script_that_generates_excel_file.php';
データがそこにあるはずなので、ファイルのサイズがタブレットで正しく検出されていることを追加する必要があります。何が起こっているのかについて何かアイデアはありますか?タブレットでファイルを開けないのはなぜですか?
タブレットでファイルを開こうとしたときに発生するエラー:
Polaris Office:
ドキュメントを開いているときにエラーが発生しました
移動するシート:
このファイルは有効なMSExcel97-2011ファイルではないため、開くことができません