【问题标题】:.xls file generated with PHP will save but not open from IE使用 PHP 生成的 .xls 文件将保存但无法从 IE 中打开
【发布时间】:2016-08-02 12:21:21
【问题描述】:

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

这是我正在使用的代码。

<?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 对话框中选择“打开”时,就会发生这种情况。

任何有关如何在 IE 用户单击“打开”时打开电子表格的建议将不胜感激。谢谢。

【问题讨论】:

    标签: php excel internet-explorer


    【解决方案1】:

    你可以试试这个:

    一个。右键单击文件并选择属性 湾。在常规选项卡上,单击取消阻止 C。点击确定

    查看此链接:https://support.microsoft.com/en-us/kb/3181507

    【讨论】:

      【解决方案2】:

      Microsoft 的documentation 表明问题实际上可能是 Excel 中的一个设置——Excel 可能忽略了来自 IE 的动态数据交换 (DDE) 信息。可能会检查描述的设置,看看是不是这样。

      【讨论】:

      • 不,我不这么认为。我只是查看了 Excel 中的 DDE 选项,它没有被选中。为了彻底,我检查了它,然后尝试打开电子表格;我收到一条错误警报,内容为“将命令发送到程序时出现问题”。所以我认为我最好不要选中“忽略使用 DDE 的其他应用程序”复选框。不过感谢您的想法。
      猜你喜欢
      • 2011-03-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-14
      • 2013-07-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多