konto usunięte

Temat: Niewidzialny GridView i export do excell.

Ok kolejne pytanie z mojej strony

Posiadam spory DataSet (okolo 30 MB danych z oracle )
Chcialbym wyeksportowac to do excela.

Wszystko proste Jezeli zbinduje ds do gridviewa, ale przy takiej ilosci niestety przegladarka strasznie spowalnia generowanie strony i nie da sie na tym pracowac.
Chcialbym wyeksportowac DataSet najlepiej odrazu po wypelnieniu go do excell a pozniej tylko odwolac sie do tego pliku w celu sciagniecia go do usera.

Jak go sciagnac to wiem ale z tym eksportem nie daje rady ;)
Znalazlem taki kod, ale nie dziala (tak jakby dt byl pusty )

public void ExportExel(DataTable data, string fileName)
{

HttpContext context = HttpContext.Current;


context.Response.Clear();
// context.Response.Charset = System.Text.UTF8Encoding.UTF8.EncodingName.ToString();
// context.Response.ContentEncoding = System.Text.Encoding.GetEncoding("UTF-8");

context.Response.ContentType = "text/csv";
context.Response.AddHeader("Content-Disposition", "attachment; filename=" + fileName + ".csv");

//write column header names
for (int i = 0; i < data.Columns.Count; i++)
{
if (i > 0)
{
context.Response.Write(",");
}
context.Response.Write(data.Columns[i].ColumnName);
}
context.Response.Write(Environment.NewLine);

//Write data
foreach (DataRow row in data.Rows)
{

for (int i = 0; i < data.Columns.Count; i++)
{
if (i > 0)
{
context.Response.Write(",");
}
context.Response.Write(row.ItemArray[i].ToString());
}
context.Response.Write(Environment.NewLine);
}
context.Response.End();

}

// return datatable


ALe wywala sie na :
Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.

Source Error:

Line 135:
Line 136: //rite column header names
Line 137: for (int i = 0; i < data.Columns.Count; i++)
Line 138: {
Line 139: if (i > 0)

konto usunięte

Temat: Niewidzialny GridView i export do excell.

Po napisaniu posta natchnelo mnie :)

Przenioslem ExportExel(ds.tables[0],"filename.xls") zaraz po adapter.Fill(ds,...) bo sumie skoro GridWiev jest nie widoczny to nie ma potrzeby robic dodatkowego buttona do exportu. i mozna calkowicie pozbyc sie gridview'a :)
Pozdrawiam.Marcin Pluta edytował(a) ten post dnia 27.02.10 o godzinie 09:50

Następna dyskusja:

Export danych do domiporta....




Wyślij zaproszenie do