2016-08-02 66 views
0

我正在使用PHP来动态生成用户可以下载为.xls文件的表格。当使用IE时,点击链接后,弹出“您要打开还是保存文件...”对话框。如果用户保存该文件并将其打开,则没有问题。但是,如果用户选择“打开”,Excel将启动,但它是空的。没有电子表格。在Chrome和FF中一切正常。.xls使用PHP生成的文件将保存但不能从IE打开

这是我正在使用的代码。

<?PHP 
    // filename for download 
    $filename = "filename" . date('M_j_Y') . ".xls"; 
    //create the output 
    $output = //<table> code goes here. 
    //set the header to treat this as an excel file 
    header("Content-Disposition: attachment; filename=\"$filename\""); 
    header("Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); 
    header("Expires: 0"); 
    header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); 
    header("Cache-Control: private",false); 
    echo $output; 
    exit; 
?> 

这是当我点击链接下载电子表格,然后从IE10对话框中选择“打开”时发生的情况。

Excel is open, but there is no spreadhseet

如何使电子表格打开当IE用户点击“打开”,将不胜感激任何意见。谢谢。

回答

0

微软的documentation表明该问题实际上可能是Excel中的设置--Excel可能忽略来自IE的动态数据交换(DDE)信息。可能检查描述的设置,看看是否是这样。

+0

不,我不认为就是这样。我只是看着Excel中的DDE选项,并没有被选中。为了彻底,我检查了它,然后尝试打开电子表格;我收到一条错误提示,内容为“将命令发送到程序时出现问题”。所以我认为我最好选择“忽略使用DDE的其他应用程序”复选框。谢谢你的想法。 –

相关问题