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

这是因为您正在写入的数据。如果另存为.xls. 您必须编写保留给 Excel 的显式数据,而不仅仅是 HTML 表格。

为了防止弹出错误窗口,请将文件另存.csv.xls.

.xls文件是“二进制”文件,而不是您希望输入的“基于文本”的数据。这就是 Excel 在打开文件时提示您的原因。

您甚至可以使用.html扩展名保存它,这也可以,我试过了。

您可以使用的库之一称为 PHPExcel,可在以下 URL 中找到:

于 2013-08-31T13:14:20.917 回答