C#中使用UltraWebGrid原生功能导出Excel
本文介绍如何在 C# 环境中,利用 Infragistics UltraWebGrid 控件集内置的 UltraWebGridExcelExporter 组件,以最少代码量实现 Web 页面数据的 Excel 导出功能。
核心思路与准备
在进行开发前,需确认项目中已引入 Infragistics 相关的 DLL 引用,特别是 Infragistics.WebUI.UltraWebGrid.ExcelExport.v5.1(或更高版本)。本方案旨在解决传统第三方导出库在旧版 .NET Framework(如 1.0/1.1)中存在兼容性问题时的替代方案。核心是利用 Grid 组件自身提供的导出处理器,通过前端注册与后端调用的方式完成。
第1步:前端页面注册与配置
目的:在 .aspx 页面头部声明导出控件,使其具备处理 HTML 表格并转换为 Excel 格式的能力。
- 入口:修改对应的 ASPX 文件源码。
- 动作:使用
@ Register指令注册 Infragistics 的导出程序集,并放置一个触发导出的 Button 控件及UltraWebGridExcelExporter实例。 - 重要参数:
Assembly:指定包含导出功能的 DLL 名称、版本、文化信息和公钥令牌。TagPrefix:控件标签的前缀,如igxl。DownloadName:用户点击下载时生成的文件名。
<%@ Register Assembly="Infragistics.WebUI.UltraWebGrid.ExcelExport.v5.1, Version=5.1.20051.37, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb" Namespace="Infragistics.WebUI.UltraWebGrid.ExcelExport" TagPrefix="igxl" %>
<asp:Button ID="Button2" runat="server" Text="导出" Width="64px" />
<igxl:UltraWebGridExcelExporter ID="UltraWebGridExcelExporter1" runat="server" DownloadName="Workbook1.xls" />
第2步:后端代码关联与触发
目的:捕获按钮点击事件,并将当前的 Grid 实例传递给导出器执行导出。
- 入口:打开对应页面的 Code-Behind 文件(.cs)。
- 动作:
- 声明类型为
Infragistics.WebUI.UltraWebGrid.ExcelExport.UltraWebGridExcelExporter的成员变量,用于获取页面上的控件实例。 - 为导出按钮添加 Click 事件处理方法。
- 在事件中调用
Export方法,传入要导出的 Grid 对象。
- 声明类型为
- 可观察的完成状态:点击按钮后,浏览器响应头将被修改为 Excel MIME 类型,并自动弹出下载对话框,文件名与设置的
DownloadName一致。
using Infragistics.WebUI.UltraWebGrid.ExcelExport;
// 声明控件实例
protected UltraWebGridExcelExporter UltraWebGridExcelExporter1;
private void Button2_Click(object sender, System.EventArgs e)
{
// 假设页面上已存在 ID 为 UltraWebGrid1 的 Grid 控件
// 直接调用 Export 方法即可完成流传输
if (UltraWebGrid1 != null)
{
UltraWebGridExcelExporter1.Export(UltraWebGrid1);
}
}
注意事项与常见问题
1. 依赖版本匹配:不同版本的 Infragistics 控件集,其程序集名称(Assembly Name)和 PublicKeyToken 可能不同。请根据实际引用的 DLL 修改 @ Register 中的版本号信息,否则会导致解析错误。
2. 资源清理:在较新的 Infragistics 版本中,部分旧版 API 可能已被标记为废弃。若遇到无法识别的属性,建议查阅对应版本的官方文档,关注是否有更推荐的导出方式(如基于 DataGridview 或纯 CSV 生成)。
3. 中文支持:由于早期控件对 Unicode 处理可能存在局限,若导出的 Excel 中出现乱码,需检查编码设置或尝试使用新版本的支持 UTF-8 的导出组件。
以上就是 UltraWebGrid 自带功能导出 Excel 的详细内容,更多关于 C# ASP.NET 报表导出的资料请关注本站其它相关文章!
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













