2017-07-24 129 views
0

我導出到Excel控制器代碼錯誤而導出到Excel

[ValidateInput(false)] 
    public ActionResult ExporttoExcel(Domain obj, int table) 
    { 
     DataSet ds = new DataSet(); 
     ds = Domain.GetAllTables(); 
     if (ds != null) 
     { 
      if (ds.Tables.Count > 0) 
      { 
       using (XLWorkbook wb = new XLWorkbook()) 
       { 
        var wsreport = wb.Worksheets.Add(ds.Tables[table], "Renewals"); 
        wsreport.Tables.SingleOrDefault().ShowAutoFilter = false; 

        Response.ClearContent(); 
        Response.Buffer = true; 
        Response.Charset = ""; 
        Response.ContentType = "application/ms-excel"; 

        if (table == 0) 
        { 
         Response.AddHeader("content-disposition", string.Format("attachment;filename={0}.xls", "Renewals-Current Month")); 
        } 
        else if (table == 1) 
        { 
         Response.AddHeader("content-disposition", string.Format("attachment;filename={0}.xls", "Renewals-Next Month")); 
        } 

        using (MemoryStream MyMemoryStream = new MemoryStream()) 
        { 
         wb.SaveAs(MyMemoryStream); 
         MyMemoryStream.WriteTo(Response.OutputStream); 
         Response.Flush();       
        } 
        Response.End(); 
       } 
      } 
     } 
     return View("ViewDomain"); 
    } 

命名空間包括:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using dsmanager.Models; 
using System.Web; 
using System.Web.Mvc; 
using dsmanager.DLL; 
using System.Text; 
using System.IO; 
using System.Globalization; 
using System.Data; 
using System.Web.UI.WebControls; 
using System.Web.UI; 
using System.Drawing; 
using ClosedXML.Excel; 

我收到以下錯誤enter image description here

怎麼可以這樣錯誤來解決。缺少什麼參考? 安裝的所有塊金包都已更新並且是最新版本。 如何加載程序集

+0

什麼版本的ClosedXML? –

+0

ClosedXml安裝版本0.87.1 –

回答

0

您可能有DocumentFormat.OpenXml版本2.7或更高版本,它與ClosedXML v0.87.1不兼容。升級至ClosedXML v0.88或更高版本。