0

html と php を使用して xls ファイルを生成しましたが、問題ありません。しかし、問題は、ファイルを開こうとすると、次のエラーが表示されることです

開いた時のエラー表示

私のコードはここにあります:

    $filename = "file.xls";
    header("Content-Type:   application/vnd.ms-excel; charset=utf-8");
    header("Content-type:   application/x-msexcel; charset=utf-8");
    header("Content-Disposition: attachment;filename=".$filename); //tell browser what's the file name
    header("Expires: 0");
    header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
    header("Cache-Control: max-age=0");
    echo '<table>
               <tr>
                   <th>heading1</th>
                   <th>heading2</th>
                   <th>heading3</th>
               </tr>
               <tr>
                   <td>data1</td>
                   <td>data2</td>
                   <td>data3</td>
               </tr>
           </table>';
4

1 に答える 1

1

それは、あなたがそれに書き込んでいるデータのためです。として保存する場合、Excel は適切にフォーマットされたファイルを期待します.xls。HTML テーブルだけでなく、Excel に予約されている明示的なデータを記述する必要があります。

ポップアップ エラー ウィンドウが表示されないようにするには、ファイルを.csvではなくとして保存します.xls

.xlsファイルは「バイナリ」ファイルであり、入力したいデータは「テキストベース」です。そのため、Excel はファイルを開くときにプロンプ​​トを表示します。

.html拡張機能を付けて保存することもできますが、それも機能します。試してみました。

使用できるライブラリの 1 つは PHPExcel と呼ばれ、次の URL にあります。

于 2013-08-31T13:14:20.917 に答える