内置数据导出的前提条件
使用DevExpress.Web.ASPxGridView.Export.ASPxGridViewExporter实现数据导出。注意一定要将该控件放在页面上才可。
使用该控件必须引入以下dll文件:
DevExpress.Utils.v9.1.dll
DevExpress.Web.ASPxGridView.v9.1.Export.dll
DevExpress.XtraPrinting.v9.1.dll
在Asp.Net页面注册该控件的代码:
<%@ Register Assembly="DevExpress.Web.ASPxGridView.v9.1.Export, Version=9.1.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a"
Namespace="DevExpress.Web.ASPxGridView.Export" TagPrefix="dxwgve" %>
<%@ Register Assembly="DevExpress.XtraPrinting.v9.1, Version=9.1.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a"
Namespace="DevExpress.XtraPrinting" TagPrefix="dxwgve" %>
在Asp.net页面控件声明:
<dxwgve:ASPxGridViewExporter ID="ASPxGridViewExporter1" runat="server">
</dxwgve:ASPxGridViewExporter>
支持的数据导出类型
ASPxGridViewExporter支持导出到Csv、Pdf、Rtf、Excel文件,所对应的方法分别为:
1,WriteCsv(WriteCsvResponse)
2,WritePdf(WritePdfResponse)
3,WriteRtf(WriteRtfResponse)
4,WriteXls(WriteXlsResponse)
在数据导出时通过给ASPxGridViewExporter的GridViewID指定一个AspxGridView控件ID。
例:将所有记录导出到Excel文件
ASPxGridViewExporter1.GridViewID = "ASPxGridView1";
ASPxGridViewExporter1.WriteXlsToResponse("Sys_Log.xls");//导出到Excel
例:将所选记录导出到Pdf文件
ASPxGridViewExporter1.GridViewID = "ASPxGridView1";
ASPxGridViewExporter1. ExportedRowType = GridViewExportedRowType.Selected;
ASPxGridViewExporter1.WritePdfToResponse("Sys_Log.pdf");//导出到pdf
ASPxGridViewExporter重要属性:
属性名 |
数据类型 |
说明 |
FileName |
String |
导出文件名称。可读写。 |
GridView |
AspxGridView |
AspxGridView控件实例。只读。 |
GridViewID |
String |
需要导出数据的AspxGridView控件ID。可读写。 |
ExportedRowType |
GridViewExportedRowType(枚举) |
导出行范围。可读写。取值范围:All,所有行;Selected,选中行。 |
主从ASPxGridView数据导出
在导出有主从关系的AspxGridView时可设置导出模式(SettingsDetail.ExportMode)
取值范围:None(不导出子AspxGridView数据)
Expanded(已展开的子AspxGridView数据)
All(所有子AspxGridView数据)。
在导出的文件中主数据下包含了子数据。
例:
//子AspxGridView导出模式
this.MasterGrid.SettingsDetail.ExportMode = (GridViewDetailExportMode)Enum.Parse(typeof(GridViewDetailExportMode), this.ddlExportMode.Text);
ASPxGridViewExporter1.GridViewID = "MasterGrid";
ASPxGridViewExporter1.WriteXlsToResponse("Task.xls");//导出到Excel
导出到Pdf时中文乱码问题的解决
有时候,我们在导出pdf文档时会发现导出来的汉字都成了乱码,这时候可以通过更改ASPxGridViewExporter的Styles.Default.Font.Name来处理中文乱码问题。有中文符号的字体可以正确显示中文。