2009-11-02 246 views
0

我需要將數據導出到一個格式化的文檔Excel將數據導出到Excel

基本上,非技術人員應該能夠創建(或只是修改)的Excel文檔,這將成爲導出過程的模板。

模板應該描述頭,使用的字段,等等。知道我必須將數據導出到該文檔的模板。基本上,它會是這個樣子:

Header 
{record.Name} 

模板文件將是相當複雜 - 它有自定義格式,標籤等。但是,格式化的細胞是不是我的任務,我只需要填寫的文件與數據。我將不僅需要導出單個字段,還需要導出列表,因此我需要爲列表中的每個元素添加行到文檔中。

目前,我使用的是Excel 2003,但如果該版本支持更好的整合,我可以將其更改爲Excel 2007中。

我不知道Excel允許這種融合的開箱即用,但對我來說,如果我有在Excel文檔中定義一些自定義的標籤,或者使用一些第三方庫並不重要。

我使用.NET 3.5和C#。

回答

0

我結束了使用的Excel XML數據源和創建XML映射。感謝這一點,我得到了非技術用戶可以編輯的很好的模板,並且在代碼中我只創建了我的數據的xml描述。在您使用它之前,您必須創建定義數據模式的xsd文件。

0

你可以在一個頁面控件出口到Excel與MIME爲Excel:

private void Button1_Click(object sender, System.EventArgs e) 
{ 
    //Export to excel. 
    Response.Clear(); 
    Response.Buffer= true; 
    Response.ContentType = "application/vnd.ms-excel"; 
    Response.Charset = ""; 
    this.EnableViewState = false; 
    System.IO.StringWriter oStringWriter = new System.IO.StringWriter(); 
    System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter); 
    this.ClearControls(datagrid); 
    datagrid.RenderControl(oHtmlTextWriter); 
    Response.Write(oStringWriter.ToString()); 
    Response.End(); 
} 

"Export ASP.NET DataGrid to Excel"教程進一步的細節。

+0

我需要基於模板創建文檔。我不需要創建新文檔。 – empi 2009-11-02 13:21:53

0

有與Excel

  1. OLE自動化集成的至少2種方式 - 有在VS,使您可以打開,關閉和操作的Excel組件。這適用於所有版本,包括2003.
  2. Linq to Excel。這隻適用於新版本(或者如果您爲新文件格式安裝了插件)。

就我個人而言,我認爲第二種選擇在這裏更好,因爲您肯定需要linq功能來完成這種工作。