2012-02-28 9 views
0

次のコードを使用してデータテーブルをエクスポートします。グリッドをエクスポートするときにタイトルを追加する

Excelシートにタイトルを追加する方法はありますか?

ここでは、Excelシートを生成するために使用するコードを示します。

enter code here 
    public void export2(DataTable dt) 
    { 
     System.Web.UI.WebControls.DataGrid grid = 
          new System.Web.UI.WebControls.DataGrid(); 
     grid.HeaderStyle.Font.Bold = true; 
     grid.DataSource = dt; 
     grid.DataBind(); 
     using (StreamWriter sw = new StreamWriter("C:\\Reports\\Report.xls")) 
     { 
      using (HtmlTextWriter hw = new HtmlTextWriter(sw)) 
      { 
       grid.RenderControl(hw); 
      } 
     } 
    } 

は、この出力は、この

Name Employee ID 
abc   123 
def   456 
ghi   789 
jkl   987 
mno   654 

のように見えるそれは、以下に示すように、出力を得ることが可能である??

Employee Report 

Name Employee ID 
abc   123 
def   456 
ghi   789 
jkl   987 
mno   654 

ありがとうございます!

+0

あなたは簡単に教えてもらえますか –

答えて

1

タイトル(例えば、ラベル)とGridView/DataGridを、ASP.NET PanelまたはDIVに適切なCSSでラップされたUserControlに追加することが1つの方法です。次に、render全体をUserControlの代わりにグリッドにすることができます。

もう1つは、html-tablesの代わりにEPPlusという本当のExcelファイルを作成することです。

3
public void export2(DataTable dt) 
{ 
    System.Web.UI.WebControls.DataGrid grid = 
         new System.Web.UI.WebControls.DataGrid(); 
    grid.HeaderStyle.Font.Bold = true; 
    grid.DataSource = dt; 
    grid.DataBind(); 
    using (StreamWriter sw = new StreamWriter("C:\\Reports\\Report.xls")) 
    { 
     using (HtmlTextWriter hw = new HtmlTextWriter(sw)) 
     { 
      **hw.Write("Employee Report");** 
      **hw.Write("<br>");** 
      grid.RenderControl(hw);     
     } 
    } 
}