Excel文件无法在浏览器中打开

时间:2018-10-09 18:45:48

标签: c# excel aspose

我正在使用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();

            }

2 个答案:

答案 0 :(得分:0)

看看这些行。

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

答案 1 :(得分:0)

我认为如果有任何不同,您可以尝试使用该行:

Worksheets("BEL CFs").Range("F" & CFcounter + 5).Value = _
     WorksheetFunction.Sum(Sheet7.Range("F2:F" & CFcounter))