错误XLS文件生成并使用html,php打开

时间:2013-08-31 11:56:18

标签: php codeigniter xls

我使用html生成xls文件,并且php everthing很好。 但问题是,当打开文件然后跟随错误显示

error display whene open

我的代码在这里:

    $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>';

1 个答案:

答案 0 :(得分:1)

这是因为你写的数据。如果保存为.xls,Excel需要格式正确的文件。您必须编写保留给Excel的显式数据,而不仅仅是HTML表。

为了防止弹出错误窗口,请将文件保存为.csv而不是.xls

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

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

您可以使用的其中一个库叫做PHPExcel,可以在以下URL找到: