如何在具有打开、保存和取消选项的 chrome 浏览器中下载 excel,就像我在 C# 中使用的关闭 Xml 一样?

How to download an excel in a chrome browser having options as Open, Save and Cancel as i used closed Xml in C#?

如何在具有 打开保存 和 chrome 浏览器中下载 excel =16=]Cancel 因为我在 C# 中使用了 closed Xml?

public FileResult ExportToExcel(List<MyStudentList_Result> StudentList)
{
    List<string[]> titles = new List<string[]> { new string[] { "name", "Number", "Type", "syllabus", "Title", "Added" } };
    byte[] fileStream = ExportToExcel(StudentList, "StudentList", titles);
    string mimeType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
    Response.AppendHeader("Content-Disposition", "inline; filename=" + "StudentList.xlsx");
    return File(fileStream, mimeType);
}

public byte[] ExportToExcel(List<MystudentList_Result> StudentList, string worksheetTitle, List<string[]> titles)
{
    var wb = new XLWorkbook(); //create workbook
    var ws = wb.Worksheets.Add(worksheetTitle); //add worksheet to workbook

    var rangeTitle = ws.Cell(1, 1).InsertData(titles); //insert titles to first row
    rangeTitle.AddToNamed("Titles");
    var titlesStyle = wb.Style;
    titlesStyle.Font.Bold = true; //font must be bold
    // titlesStyle.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; //align text to center
    wb.NamedRanges.NamedRange("Titles").Ranges.Style = titlesStyle; //attach style to the range
    if (StudentList!= null && StudentList.Count() > 0)
    {
        //insert data to from second row on
        ws.Cell(2, 1).InsertData(StudentList);
        ws.Columns().AdjustToContents();
    }
    //save file to memory stream and return it as byte array
    using (var ms = new MemoryStream())
    {
        wb.SaveAs(ms);

        return ms.ToArray();
    }
}

您可以指导浏览器如何使用 Content-Disposition header。要保存文件,您应该使用 attachment:

Response.AddHeader("content-disposition", "attachment; filename=" + fileName);