Надеюсь, вы, ребята, можете мне помочь. Я пробовал много разных вещей и не мог заставить это работать.Экспорт Gridview в Excel в веб-приложении
У меня есть GridView, как показано ниже на панели обновления:
<asp:UpdatePanel ID="udpReport" runat="server" UpdateMode="Conditional" ChildrenAsTriggers="true">
<ContentTemplate>
<asp:GridView runat="server" ID="preferenceReportGrd" AutoGenerateColumns="false"
AutoGenerateSelectButton="false" CaptionAlign="Top" EnableSortingAndPagingCallbacks="false" HorizontalAlign="left" CssSelectorClass="gvwPrefReport">
<Columns>
<asp:BoundField ReadOnly="true" DataField="ClientName" HeaderText="Company Name" />
<asp:BoundField ReadOnly="true" DataField="typeDescription" HeaderText="Preference" />
<asp:BoundField ReadOnly="true" DataField="defaultValue" HeaderText="Default Preference" />
<asp:BoundField ReadOnly="true" DataField="previousPreferenceValue" HeaderText="Previous Preference" />
<asp:BoundField ReadOnly="true" DataField="selectedValue" HeaderText="New Preference" />
<asp:BoundField ReadOnly="true" DataField="lastUpdated" HeaderText="Date Last Edited" />
</Columns>
</asp:GridView>
<div>
<user:MsgLine runat="server" ID="MsgLine1" />
</div>
</ContentTemplate>
</asp:UpdatePanel>
Я пытаюсь экспортировать этот GridView, чтобы преуспеть. Существует кнопка, которая пользователь нажимает на нее вызывает метод on_click для этой кнопки и в этом on_click я следующее:
string attachment = "attachment; filename=Employee.xls";
Response.AddHeader("content-disposition", attachment);
Response.ContentType = "application/excel";
StringWriter stw = new StringWriter();
HtmlTextWriter htextw = new HtmlTextWriter(stw);
preferenceReportGrd.RenderControl(htextw);
Response.Write(stw.ToString());
Response.End();
Я ничего не получаю от этого пытался отладки, кажется, что, когда я мыши над stw.tostring() все значения для gridview есть, но ничего не выписывается.
Вы пробовали делать это за пределами из UpdatePanel? – TheTXI
странно не уверен, как добавить html для gridview, но просто для получения дополнительной информации gridview находится в обновленной панели, а updatemode панели обновлений настроен на условное. – 2009-06-10 15:53:20
Yup Я попытался избавиться от панели обновления и все равно ничего. спасибо – 2009-06-10 15:53:52