Ext.net导出Excel表格,急
<div> <ext:Viewport runat="server" Layout="FitLayout"> <Items> <ext:Panel runat="server" ID="AccidentPanel" Layout="BorderLayout" BodyCls="bordernone"> <Items> <ext:FormPanel runat="server" ID="SearchForm" Region="North" BodyCls="formstyle"> <Items> <ext:Panel runat="server" BodyCls="bordernone" Layout="HBoxLayout"> <Items> <ext:DateField runat="server" ID="BeginDate" FieldLabel="事故日期" Format="yyyy-MM-dd" MarginSpec="5 3" LabelWidth="70" Flex="4" /> <ext:DateField runat="server" ID="EndDate" FieldLabel="-------" Format="yyyy-MM-dd" MarginSpec="5 3" LabelWidth="50" Flex="4" /> <ext:TextField runat="server" ID="srhName" FieldLabel="当事人姓名" LabelWidth="80" MarginSpec="5 3" Flex="4" /> <ext:TextField runat="server" ID="srhSFZ" FieldLabel="身份证" LabelWidth="60" MarginSpec="5 3" Flex="4" /> <ext:TextField runat="server" ID="srhCheHao" FieldLabel="车牌号" LabelWidth="60" MarginSpec="5 3" Flex="3" /> </Items> </ext:Panel> <ext:Panel runat="server" BodyCls="bordernone" Layout="HBoxLayout"> <Items> <ext:TextField runat="server" ID="AccNo" FieldLabel="事故编号" LabelWidth="70" MarginSpec="5 3" Flex="4" /> <%--<ext:Combobox runat="server" ID="AccType" FieldLabel="单车事故类型" MarginSpec="5 3" LabelWidth="90" Flex="4" /> <ext:ComboBox runat="server" ID="AccType2" FieldLabel="车辆间事故类型" MarginSpec="5 3" LabelWidth="110" Flex="4" />--%> <ext:TextField runat="server" ID="DieHurtNum" FieldLabel="死亡人数" MarginSpec="5 3" LabelWidth="70" Flex="2" /> <%--<ext:NumberField runat="server" ID="EndHurtNum" FieldLabel="~" MarginSpec="5 3" LabelWidth="10" Flex="1" /> --%> <ext:Button runat="server" Text="查询" Icon="Magnifier" MarginSpec="5 3" Width="50" Flex="2" Handler="App.AccidentStore.reload()" /> <ext:Button runat="server" Text="新建" ID="AddAcc" Icon="New" MarginSpec="5 3" Width="60" Flex="2" Handler="NewAccident()" /> <ext:Button runat="server" Text="打印" ID="Print" MarginSpec="5 3" Width="50" Flex="2" /> <ext:Button runat="server" Text="导出" ID="Export" AutoPostBack="true" MarginSpec="5 3" Width="50" Flex="2" Handler="ToExcel()"/> </Items> </ext:Panel> </Items> </ext:FormPanel> <ext:GridPanel runat="server" ID="AccidentGrid" Region="Center"> <Store> <ext:Store runat="server" ID="AccidentStore" OnReadData="AccidentStore_ReadData" AutoLoad="false"> <AutoLoadParams> <ext:StoreParameter Name="start" Value="0" Mode="Raw"></ext:StoreParameter> <ext:StoreParameter Name="limit" Value="20" Mode="Raw"></ext:StoreParameter> </AutoLoadParams> <Parameters> </Parameters> <Proxy> <ext:PageProxy /> </Proxy> <Model> <ext:Model runat="server"> <Fields> <ext:ModelField Name="AccID" /> <ext:ModelField Name="AccidentNo" /> <ext:ModelField Name="Time" Type="Date" /> <ext:ModelField Name="Place" /> <%-- <ext:ModelField Name="AccidentTypeID" /> <ext:ModelField Name="AccidentTypeID2" />--%> <ext:ModelField Name="HowSeriousID" /> <ext:ModelField Name="HurtNum" /> <ext:ModelField Name="DeadNum" /> <ext:ModelField Name="PoliceNo" /> <ext:ModelField Name="PoliceName" /> <ext:ModelField Name="DeptName" /> </Fields> </ext:Model> </Model> </ext:Store > </Store> <ColumnModel> <Columns> <ext:Column runat="server" Text="id" Hidden="true" Flex="2" DataIndex="AccID" Align="Center" /> <ext:Column runat="server" Text="事故编号" Flex="2" DataIndex="AccidentNo" Hidden="true"/> <ext:DateColumn runat="server" Text="发生时间" Format="yyyy-MM-dd HH:mm" Flex="2" DataIndex="Time" Align="Center"/> <ext:Column runat="server" Text="发生地点" Flex="4" DataIndex="Place" Align="Center" /> <ext:Column runat="server" Text="单车事故类型" Flex="2" DataIndex="AccidentTypeID" Hidden="true" /> <ext:Column runat="server" Text="车辆间事故类型" Flex="2" DataIndex="AccidentTypeID2" Hidden="true"/> <ext:Column runat="server" Text="严重程度" Flex="2" DataIndex="HowSeriousID" Align="Center"/> <ext:Column runat="server" Text="死亡人数" Flex="2" DataIndex="DeadNum" Align="Center"/> <ext:Column runat="server" Text="受伤人数" Flex="2" DataIndex="HurtNum" Align="Center"/> <ext:Column runat="server" Text="办案人员" Flex="2" DataIndex="PoliceName" Align="Center"/> <ext:Column runat="server" Text="所属部门" Flex="2" DataIndex="DeptName" Align="Center"/> </Columns> </ColumnModel> <Listeners> <ItemDblClick Handler="showDetails(record)" /> </Listeners> <BottomBar> <ext:PagingToolbar runat="server" /> </BottomBar> </ext:GridPanel> </Items> </ext:Panel> </Items> </ext:Viewport> </div>
导出Excel,跟是不是ext.net 没关系吧,可以用npoi做Excel导出,
Nopi没用
npoi没用过
@蓝瑟黄昏: 没用过,可以试试,园内好多关于npoi博文呀
@秋壶冰月: 今天试了下,npoi直接不会用 找到的都是代码 应该是直接套进去 gridpanel不能直接用
@蓝瑟黄昏:npoi在后台用的,将npoi的dll文件加载你项目,还是很简单的
@秋壶冰月: 这么说太空泛 有详细点的教程或文章吗
@蓝瑟黄昏: http://www.cnblogs.com/lwme/archive/2011/11/18/npoi_excel_import_export.html
Response.Clear(); Response.Buffer = true; Response.Charset = "utf-8"; Response.AppendHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode("导出" + System.DateTime.Now.Date.ToString("yyyyMMdd")) + ".xls"); Response.ContentEncoding = System.Text.Encoding.GetEncoding("utf-8");//设置输出流为简体中文 Response.ContentType = "application/ms-excel";//设置输出文件类型为excel文件。 this.EnableViewState = false; System.Globalization.CultureInfo myCItrad = new System.Globalization.CultureInfo("ZH-CN", true); System.IO.StringWriter oStringWriter = new System.IO.StringWriter(myCItrad); System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter); this.AccidentGrid.RenderControl(oHtmlTextWriter); Response.Write(oStringWriter.ToString()); Response.End();
@秋壶冰月: 研究了下 貌似和我的不合适我菜鸟,不会用这个啊,找了个代码,不过导出的是乱码
aspx.cs文件:
protected void AccidentStore_Submit(object sender, StoreSubmitDataEventArgs e)
{
string format = this.FormatType.Value.ToString();
XmlNode xml = e.Xml;
this.Response.Clear();
switch (format)
{
case "xls":
this.Response.ContentType = "application/vnd.ms-excel";
this.Response.AddHeader("Content-Disposition", "attachment; filename=submittedData.xls");
XslCompiledTransform xtExcel = new XslCompiledTransform();
xtExcel.Load(Server.MapPath("../XSL/Accident.xsl"));
xtExcel.Transform(xml, null, Response.OutputStream);
break;
}
this.Response.End();
}
aspx:
js:
var exportData = function (format) {
App.FormatType.setValue(format);
var store = App.AccidentGrid.store;
store.submitData(null, { isUpload: true });
};
调用:
<ext:Button runat="server" Text="导出" ID="Export" Icon="PageExcel" MarginSpec="5 3" Width="60" Flex="2" Handler="exportData('xls')" />
form中:
<ext:Hidden ID="FormatType" runat="server" />
忘了个文件Accident.xsl
<xsl:stylesheet version="1.0" xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:user="urn:my-scripts" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"> <xsl:template match="/"> <Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:html="http://www.w3.org/TR/REC-html40"> <xsl:apply-templates/> </Workbook> </xsl:template> <xsl:template match="/*"> <Worksheet> <xsl:attribute name="ss:Name"> <xsl:value-of select="local-name(/*/*)" /> </xsl:attribute> <Table x:FullColumns="1" x:FullRows="1"> <Row> <Cell> <Data ss:Type="String"> <xsl:value-of select="'事故编号'" /> </Data> </Cell> <Cell> <Data ss:Type="String"> <xsl:value-of select="'发生时间'" /> </Data> </Cell> <Cell> <Data ss:Type="String"> <xsl:value-of select="'发生地点'" /> </Data> </Cell> <Cell> <Data ss:Type="String"> <xsl:value-of select="'严重程度'" /> </Data> </Cell> <Cell> <Data ss:Type="String"> <xsl:value-of select="'死亡人数'" /> </Data> </Cell> <Cell> <Data ss:Type="String"> <xsl:value-of select="'受伤人数'" /> </Data> </Cell> <Cell> <Data ss:Type="String"> <xsl:value-of select="'办案人员'" /> </Data> </Cell> <Cell> <Data ss:Type="String"> <xsl:value-of select="'所属部门'" /> </Data> </Cell> </Row> <xsl:apply-templates/> </Table> </Worksheet> </xsl:template> <xsl:template match="/*/*"> <Row> <xsl:apply-templates/> </Row> </xsl:template> <xsl:template match="/*/*/*"> <Cell><Data ss:Type="String"> <xsl:value-of select="." /> </Data></Cell> </xsl:template> </xsl:stylesheet>
试试PageOffice插件吧