0

だから私はこのコードを持っています:

$output = '
<table class="sticky-enabled">
 <thead><tr><th>Text0</th><th>Text1</th><th>Text2</th> </tr></thead>
<tbody id="">
 <tr class="odd"><td>7</td><td>texttt</td><td>texttt</td> </tr>
</table>';



    header("Content-type: application/vnd.ms-excel;");
    header("Cache-Control: no-store, no-cache");
    header("Content-Disposition: attachment; filename=file.xls");
    print chr(255) . chr(254) . mb_convert_encoding($output, 'UTF-16LE', 'UTF-8');
    exit;

そして、物事はテーブルと一緒にExcelファイルをダウンロードするでしょう。

ただし、2つの問題があります。

  1. Excelで開くと、開こうとしているファイルが拡張子エラーとは異なる形式で表示されます
  2. 保存しようとすると、デフォルトのファイル拡張子はxlsではなく.htmになります。

これらの2つの問題が解決されるようにヘッダーなどを操作する方法はありますか?

4

1 に答える 1

0
header('Content-type : text/csv');

カンマ区切りの値ファイルとして印刷します。HTMLテーブルを.xlsまたは.xlsxに単に印刷することはできません

于 2013-01-28T17:08:55.527 に答える