При экспорте gridview в xls вся строка форматируется.Как я могу ограничить это для моих столбцов gridview - PullRequest
1 голос
/ 05 августа 2010

У меня есть сетка, которую я экспортирую в файл Excel.Когда я открываю файл Excel, цвет чередующейся строки простирается до конца таблицы Excel, но я хочу, чтобы только мои 6 столбцов данных были отформатированы.Как я могу ограничить форматирование?

Мой просмотр сетки:

<asp:GridView ID="grdExportable" runat="server" BackColor="White" ForeColor="Black" 
                            Width="1100px" AutoGenerateColumns="False" Visible="False">
                                <PagerSettings Mode="NumericFirstLast" />
                                <Columns>
                                    <asp:BoundField DataField="ActivityDateTime" HeaderText="Date/Time" />
                                    <asp:BoundField DataField="TestName" HeaderText="TestName" />
                                    <asp:BoundField DataField="RoundSerialNumber" HeaderText="RoundSerialNumber"/>
                                    <asp:BoundField DataField="RoundType" HeaderText="RoundType"/>
                                    <asp:BoundField DataField="LotNumber" HeaderText="Lot/StockNumber" />
                                    <asp:BoundField DataField="Notes" HeaderText="Notes" />
                                </Columns>
                                <SelectedRowStyle BackColor="#000099" Font-Bold="True" ForeColor="White" />
                                <HeaderStyle BackColor="#6C0000" Font-Bold="True" ForeColor="White" />
                                <AlternatingRowStyle BackColor="#CCCCCC"/>
                            </asp:GridView>

Мой метод экспорта:

private void ExportGridView()
    {
        string attachment = "attachment; filename=Activity Report.xls";
        Response.ClearContent();
        Response.AddHeader("content-disposition", attachment);
        Response.ContentType = "application/ms-excel";
        StringWriter sw = new StringWriter();
        HtmlTextWriter htw = new HtmlTextWriter(sw);
        grdExportable.Visible = true;
        grdExportable.RenderControl(htw);
        grdExportable.Visible = false;
        Response.Write(sw.ToString());
        Response.End(); 
    }

1 Ответ

1 голос
/ 05 августа 2010

Что ж, вы на самом деле не «экспортируете в Excel», вы отправляете HTML-таблицу в браузер с типом содержимого application / ms-excel, чтобы Excel открывал ее и использовал тот факт, чтоExcel отобразит его в виде таблицы.Если вы хотите этот прекрасный уровень контроля над форматированием Excel, вам нужно создать настоящий файл Excel.

...