0
我已經成功地將數據從gridview導出到Excel作爲單個工作表,但我想添加多個工作表。我搜索了一下,並嘗試了幾個選項,但沒有任何工作,但我越來越接近。我認爲這只是幾行代碼的問題。現在,我有以下代碼:在MVC中將數據導出到Excel
public ActionResult Download()
{
if (Session["BP"] != null)
{
return new DownloadFileActionResult((GridView)Session["BP"], "BestPrices.xls");
}
else
{
return new JavaScriptResult();
}
}
我填充使用確定年代和GridView會話變量:
GridView gv = new GridView();
gv.DataSource = gridTable;
gv.DataBind();
// Session["BP"] = myGridViews;
Session["BP"] = g;
我已經建立了GridView的思想,這將有助於數組,但我不能出口,現在。
GridView[] g = new GridView[retailerTables.Count];
int n = 0;
foreach (string key in keys)
{
myGridViews[n] = retailerTables[key];
g[n] = new GridView();
g[n].DataSource = retailerTables[key];
g[n].DataBind();
n++;
}
我的基本想法是,excel文件中的每個工作表都對應一個gridview。
我見過各種第三方選項,但我不知道它們有多可靠,如果我最終會調試接口錯誤。我更喜歡在MVC中使用核心類和選項。
該應用程序在網站上運行,用戶將點擊鏈接下載該文件。
零售商表是:
Dictionary<string, DataTable> retailerTables= new Dictionary<string, DataTable>();
因此,每個工作都會有銷售數據,零售商和用戶終於可以只需點擊不同的零售商和看到的銷售數據。
有沒有人知道如何解決這個問題,以導出多個表格,如我所概述的。
您不想在Web服務器上使用Excel COM組件。它們不是爲那裏的使用而設計的,而且可能會發生大量的錯誤。我在很多項目中使用過[EPPlus](http://epplus.codeplex.com),並且它工作得很好。使用起來非常簡單,並且輕鬆處理多個工作表。 – krillgar
@krillgar說了什麼。我通常使用[NPOI](https://npoi.codeplex.com/)來滿足我的Excel需求,並且沒有投訴。 – Travis
我解決了使用NPOI。我稍後會發布代碼。 –