2013-07-23 160 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

似乎合法;-) –