データベースから取得したデータを含むXLSファイルを出力するスクリプトを作成しました。問題は、OSXとLinux上でファイルを見ると、それが想定されているように見えるということです。 Windowsのエクセル上のWindows上PHP出力Excel - ファイル形式と拡張子が一致しません
行動
は、次のようなメッセージが表示されます。
ファイル形式と拡張子 'nameofthefile.xls'が一致しません。ファイルが破損しているか、安全でない可能性があります。あなたが信用しない限り.....
これまでにこの問題に直面しましたか?
$sql = "MY SQL QUERY";
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0) {
$output .= '<table class="table" border="1"
<tr>
<th>MY Table heads</th>
<th>MY Table heads</th>
</tr>';
$count = 1;
while ($row = mysqli_fetch_array($result)) {
$data = strtotime($row['reg_date']);
$format_date = date("d.M.Y", $data);
$output .= '
<tr>
<td>' . $count++ . '</td>
<td>' . $row["id"] . '</td>
<td>' . $row["firstname"] . '</td>
<td>' . $row["lastname"] . '</td>
<td>' . $format_date . '</td>
</tr>';
}
$output .= '</table>';
header("Content-Type: application/xls");
header("Content-Disposition: attachement; filename=download.xls");
echo $output;
}
}
私はそれが理由だとは思っていませんが、あなたのコードにはタイプミスがあります。 – phaberest
タイプミスが修正されました。 '(改訂履歴:Content-Disposition:添付ファイル; filename = download.xls);問題はまだ再生されています...また、それを指摘していただきありがとうございます。 – Daniel
私は別のContent-Typeで試してみたいと思います。http://stackoverflow.com/questions/974079/setting-mime-type-for-excel-document – phaberest