2013-07-23 108 views
-6

我正在使用windows窗體應用程序。我想導出我的gridview數據以使用SaveAs(瀏覽)選項。從Gridview數據導出爲ex​​cel

請建議。

+5

的Ehr。這是一個Windows窗體應用程序。你爲什麼期望網絡技術能夠在那裏工作? –

+1

這意味着當前的HttpContext爲null。 –

+1

Facepalm ....... – nathanchere

回答

2

HttpContextHttpContext.Current似乎爲空。

3

這意味着當前的HttpContextHttpContext.Current)是null

這是因爲這是一個Windows窗體應用程序,而不是ASP.NET網站。你不能這樣做。

3

有一個在Windows窗體應用程序沒有HttpContext的,所以這是你的情況

3

HttpContext.Current空非空只針對Web應用程序。在Windows應用程序中,它始終爲空。

1

您可以使用此代碼爲出口,因爲你正在使用用於出口asp.net GridView的代碼:

public void export_datagridview_to_excel(DataGridView dgv, string excel_file) 
{ 
    int cols; 
    //open file 
    StreamWriter wr = new StreamWriter(excel_file); 
    //determine the number of columns and write columns to file 
    cols = dgv.Columns.Count; 
    for (int i = 0; i < cols; i++) 
    { 
     wr.Write(dgv.ColumnsIdea.Name.ToString().ToUpper() + "\t"); 
    } 
    wr.WriteLine(); 
    //write rows to excel file 
    for (int i = 0; i < (dgv.Rows.Count - 1); i++) 
    { 
     for (int j = 0; j < cols; j++) 
     { 
      if (dgv.RowsIdea.Cells[j].Value != null) 
       wr.Write(dgv.RowsIdea.Cells[j].Value + "\t"); 
      else 
      { 
       wr.Write("\t"); 
      } 
     } 
     wr.WriteLine(); 
    } 
    //close file 
    wr.Close(); 
} 
+3

對我來說,這似乎是一個完全無關的答案。 –

+1

@UweKeim:不,這不是,因爲我知道提問者正在嘗試使用用於將gridview內容導出爲ex​​cel的準備好的代碼。我能夠剛剛回答'老兄!您無法在winform應用程序中訪問HttpResponse,但我嘗試用實際解決方案幫助他/她' – Farshid

+1

似乎合法;-) –