内存不足 运行 excel 2013

not enough memory to run excel 2013

我有一个使用 NPOI version:2.1.3.0 读取和写入 excel 文件的 MVC 应用程序,用户可以在他们的本地计算机上下载该 excel 文件。文件格式:xlsx.

public ActionResult NPOI()
    {
        FileStream fs = new FileStream(Server.MapPath(@"\Content\SampleExcel.xlsx"), FileMode.Open, FileAccess.Read);
        XSSFWorkbook templateWorkbook = new XSSFWorkbook(fs);
        ISheet sheet = (ISheet)templateWorkbook.GetSheet("Sheet1");
        IRow dataRow = (IRow)sheet.GetRow(1);
        dataRow.GetCell(0).SetCellValue(77);
        sheet.ForceFormulaRecalculation = true;
        MemoryStream ms = new MemoryStream();
        templateWorkbook.Write(ms);
        return File(ms.ToArray(), "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "SampleExcel.xlsx");
    }

写入 excel 文件工作正常。但是当浏览器是 IE 并且 excel 2013 在用户机器上。

如果下载完成后用户使用 IE 打开(预览文件)选项被选中:

然后在 excel 2013 年观察到此错误:

其次是:

虽然服务器端的模板文件(SampleExcel.xlsx)已打开并保存为 excel 2013。然后我也不知道为什么它显示文件已损坏。并且用户机器上有足够的内存,它永远不会触及任务管理器中的峰值。 任何帮助将不胜感激。

我明白了,实际上问题不在于内存,而在于该特定机器上的用户权限。如果管理员人员尝试执行上述相同步骤而没有自定义访问权限,那么他不会遇到任何问题。

总之谢谢大家的宝贵时间:)