【问题标题】:Excel file does not open in browserExcel 文件无法在浏览器中打开
【发布时间】:2018-10-09 18:45:48
【问题描述】:

我正在使用 aspose 查找特定文本并将其突出显示并在浏览器中打开该 excel 文件。 问题是它找到并突出显示并下载了 excel 文件,我不想在浏览器中显示 excel 的内容。 对于 pdf 这工作得很好,在浏览器中打开

PDF code -
    if (docBytes != null)
                {
                    Response.ContentType = "application/pdf";
                    Response.AddHeader("content-length", docBytes.Length.ToString());
                    Response.BinaryWrite(docBytes);

                }

这是我的代码 - (excel) - 不在浏览器中打开 excel

 using (MemoryStream docStream = new MemoryStream())
            {

                workbook.Save(docStream, Aspose.Cells.SaveFormat.Xlsx);
                docBytes = docStream.ToArray();

            }

            if (docBytes != null)
            {
                Response.ContentType = "application/vnd.ms-excel";               
                Response.AppendHeader("content-disposition",
                        "attachment; filename=" + "yourExcelFileName.xlsx");               
                Response.AddHeader("content-length", docBytes.Length.ToString());
                Response.BinaryWrite(docBytes);
                Response.End();

            }

【问题讨论】:

    标签: c# excel aspose


    【解决方案1】:

    看看这些线。

    Response.AppendHeader("content-disposition",
        "attachment; filename=" + "yourExcelFileName.xlsx"); 
    

    “附件”部分告诉浏览器应该下载这个文件,而不是显示在浏览器中。

    删除它,它应该可以工作(至少在可以托管 Excel 的浏览器中,所以 Internet Explorer 和可能的 Edge)。

    Response.AppendHeader("content-disposition", "filename=yourExcelFileName.xlsx"); 
    

    您可以在 MDN 上阅读有关 attachment 参数的信息。

    https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Disposition#Syntax

    【讨论】:

    • 如何让它在 chrome 中工作?在chrome中它只是下载文件?在 IE 中,它会提示打开/保存/另存为选项,而不是在浏览器中显示
    • 我很确定 Chrome 不会让您在其中托管 Excel。可能它可以通过某种插件来完成,但我不会打赌。
    • 好的。 IE 呢?
    【解决方案2】:

    如果有什么不同,我想你可以试试这条线:

    Response.AppendHeader("content-disposition",
                            "inline; filename=" + "yourExcelFileName.xlsx");
    

    【讨论】:

    • 表现相同..无法在 chrome 中打开..下载它并在 IE 中提示打开/保存/另存为选项,而不是在浏览器中显示
    • 使某些文件类型在 chrome 中打开。您必须下载文件类型一次,然后在下载后立即查看浏览器底部的状态栏。单击该文件旁边的箭头,然后选择“始终打开此类型的文件”。完毕。对于 Excel、Excel、Word 文件等各种文件,您只需执行一次。
    猜你喜欢
    • 2011-04-21
    • 1970-01-01
    • 2014-03-19
    • 1970-01-01
    • 2013-08-28
    • 2014-05-27
    • 2015-04-22
    • 1970-01-01
    • 2018-02-01
    相关资源
    最近更新 更多