1

我正在 MVC 项目中生成报告。用户可以选择以 .pdf 格式或 .xls 格式获取报告

我正在使用 Aspose.Cells 生成 Excel 文件。调用下面的 ActionResult 方法。

    [HttpGet]
    public ActionResult GenerateReport(string format, string filterDate = "")
    {
      //Processing occurs here to get the appropriate info from Db.
      var fileFormat   = format.ToUpper() == "PDF" ? Format.Pdf : Format.Csv;
      var contentType  = fileFormat == Format.Pdf ? "application/pdf" : "application/vnd.ms-excel";
      var makePdf      = fileFormat == Format.Pdf;
      var fileContents = register.GetReport(makePdf, filterDate);

      return File(fileContents, contentType, "Report");
    }

register.GetReport() 仅确定是否调用 GetExcelVersion() 或 GetPdfVersion()。

    private void GetExcelVersion(MemoryStream stream, string name, string dateRequested = "")
    {

      var license = new Aspose.Cells.License();
      license.SetLicense("Aspose.Total.lic");
      var workbook = new Workbook();
      var worksheet = workbook.Worksheets[0];
      var cells = worksheet.Cells;
      //writes out the appropriate information to the excel spreadsheet here           

      workbook.Save(stream, new XlsSaveOptions(Aspose.Cells.SaveFormat.Excel97To2003));
     }

这在 Firefox 和 IE10 中很有用,但是在 IE8 上进行测试时,我从 Excel 收到以下警报:-

您尝试打开的文件“XXXXX”的格式与文件扩展名指定的格式不同。在打开文件之前,请确认文件没有损坏并且来自受信任的来源。您现在要打开文件吗?是/否

关于我做错了什么的任何想法?

干杯!

4

1 回答 1

1

正如上面评论中提到的 Saqib Razzaq。如此处所述关闭兼容模式

于 2013-07-11T19:45:31.067 回答