Добавление информации в файл Excel при экспорте GridView в ASP.NET C # - PullRequest
0 голосов
/ 22 февраля 2012

Я экспортирую GridView в Excel со следующим кодом:

protected void export_OnClick(object sender, EventArgs e)
{

    string style = @"<style> .text { mso-number-format:\@; } </style> ";
    // Let's hide all unwanted stuffing
    GridView1.AllowPaging = false;
    GridView1.AllowSorting = false;

    // Let's bind data to GridView
    BindGrid();

    //Change the color back to white
    GridView1.HeaderRow.Style.Add("background-color", "#ffffff");


    //Apply color to the header
    for (int i = 0; i < GridView1.HeaderRow.Cells.Count; i++)
    {
        GridView1.HeaderRow.Cells[i].Style.Add("background-color", "#e0e0e0");
    }

    // Let's output the Gridview
    Response.Clear();
    Response.ContentType = "application/vnd.xls";
    Response.AddHeader("content-disposition", "attachment;filename=" + reportid + ".xls");

    StringWriter swriter = new StringWriter();
    HtmlTextWriter hwriter = new HtmlTextWriter(swriter);

    GridView1.RenderControl(hwriter);

    Response.Write(style);
    Response.Write(swriter.ToString());
    Response.End();

}

Теперь мне нужно добавить имя в первой строке, дату и время во второй строке и, возможно, некоторую другую информацию отретий ряд.Я также хотел бы оставить строку между собственно данными GridView и этой информацией.Это возможно?Если да, будьте любезны и приведите несколько примеров того, как я могу это сделать.Спасибо.

1 Ответ

0 голосов
/ 22 февраля 2012

Просто иди и добавь это.Добавьте перевод каретки после каждого, чтобы Excel перешел к следующей строке (используйте вкладки для перехода к следующей ячейке).

Response.Write(style);
Response.Write("Pretty Excel Export File\n");
Response.Write("Generated on " + DateTime.Now.ToShortDateString() + "\n\n");
Response.Write(swriter.ToString());
Response.End();
...