Welcome

首页 / 脚本样式 / ExtJS / ExtAspNet应用技巧(十) - Grid导出为Excel文件(续)

ExtAspNet应用技巧(十) - Grid导出为Excel文件(续)2011-10-06 博客园 三生石上轻车熟路

书接上文,如何在使用ExtAspNet控件库的页面将Grid内容导出为Excel文件?

1. 页面声明

01.<ext:PageManager ID="PageManager1" runat="server" />
02.Grid Control in ExtAspNet:
03.<ext:Grid ID="Grid1" Title="表格" ShowBorder="true" ShowHeader="true" Width="900px"
04. AutoHeight="true" runat="server" EnableCheckBoxSelect="true" DataKeyNames="Id,Year,MyText"
05. EnableRowNumber="True">
06. <Columns>
07. <ext:BoundField DataTooltipField="MyText" Width="200px" DataField="MyText" DataFormatString="{0}"
08. HeaderText="MyText" ExpandUnusedSpace="True" />
09. <ext:BoundField ColumnId="column1" Width="100px" DataField="MyValue" HeaderText="MyValue" />
10. <ext:BoundField Width="60px" DataField="Year" HeaderText="Year" />
11. <ext:CheckBoxField DataTooltipField="MyText" Width="60px" RenderAsStaticField="true"
12. DataField="MyCheckBox" HeaderText="CheckBox" />
13. <ext:HyperLinkField DataTooltipField="MyText" Width="200px" HeaderText="HyperLink"
14. DataTextField="MyText" DataTextFormatString="{0}" DataNavigateUrlFields="Id,MyValue"
15. DataNavigateUrlFormatString="http://www.google.com/?id={0}&page={1}" Target="_blank"
16. NavigateUrl="~/alert.aspx" Text="链接" />
17. <ext:TemplateField HeaderText="TemplateField">
18. <ItemTemplate>
19. <%# GetMyValue(DataBinder.Eval(Container.DataItem, "[MyValue]")) %>
20. </ItemTemplate>
21. </ext:TemplateField>
22. <ext:ImageField DataTooltipField="MyText" Width="60px" DataImageUrlField="MyValue"
23. DataImageUrlFormatString="~/images/16/{0}.gif" HeaderText="Image"></ext:ImageField>
24. </Columns>
25.</ext:Grid>
26.<br />
27.<ext:Button ID="Button1" EnableAjax="false"
28. runat="server" Text="导出ExtAspNet控件Grid到 Excel文件" OnClick="Button1_Click">
29.</ext:Button>

这里需要说明一点:因为点击“导出”按钮会改变响应消息头,使用AJAX就不合适了。所以我们设置 Button的EnableAjax="false",当然你也可以设置PageManager的这个属性,那会影响整个页面。

2. 后台数据绑定。这个同样省略,无非是从数据库读出一个DataTable或者List绑定到Grid控件。

3. 生成的页面: