一键 ASP.NET 导出 Excel/CSV 文件按钮控件






4.57/5 (68投票s)
2004 年 5 月 18 日
2分钟阅读

906565

29295
一个扩展的 ASP.NET 按钮控件,用于导出/下载 Excel 或 CSV 文件。
引言
微软创建了一个出色的可扩展框架,特别是针对 ASP.NET,通过创建各种服务器控件。本文是关于扩展 ASP.NET Button
控件并添加您自己的功能,以便从 ASP.NET 页面进行一键导出。
背景
可以使用多种方法使用 ASP.NET 导出数据。通常,这是通过编写一个单独的页面并添加各种 HTTP 标头和响应来完成的。(参考:Microsoft)。
像我一样,我们大多数人都相信重用。可以通过重用相同页面用于各种项目来实现导出功能,无论是通过从父页面传递 DataSet
,还是在登陆页面上重新连接到数据源并操作 Response
对象。
一键导出
您可能想知道我为什么称之为“一键导出”,'因为这个控件不需要中间页面来导出数据'。只需将 ExportButton
控件拖到 ASPX 页面或用户控件上,并在设计时或运行时设置其属性以连接 DataView
。是的,就是这样,不再需要处理调查 HTTP 标头、MIME 类型或编码的麻烦。
'ASPX page [Design time]
…
…
<pnwc:ExportButton id="btnExcel" runat="server"
Separator="TAB" Text="Export to Excel"
FileNameToExport="Books.xls" BackColor="#E0E0E0"></pnwc:ExportButton>
….
….
'Code Behind [Run time]
Private Sub Page_Load(ByVal sender As System.Object,_
ByVal e As System.EventArgs) Handles MyBase.Load
Dim ds as dataset=filldataset()
dgBooks.DataSource = ds.Tables("Books")
dgBooks.DataBind()
'Set Export button properties
btnExcel.Dataview = ds.Tables("Books").DefaultView
btnExcel.FileNameToExport = "Books.xls"
btnExcel.ExportType = _
PNayak.Web.UI.WebControls.ExportButton.ExportTypeEnum.Excel
btnExcel.Separator = _
PNayak.Web.UI.WebControls.ExportButton.SeparatorTypeEnum.TAB
End Sub
[注意: ExportButton
属性可以在设计时和/或运行时设置]。
属性说明
ExportType
[CSV 或 EXCEL]Separator
[逗号或制表符]Delimiter
[任何字符]
ExportType
属性用于选择 CSV 或 EXCEL 格式,btnExcel.ExportType = PNayak.Web.UI.WebControls.ExportButton.ExportTypeEnum.Excel
。 Separator
属性可用于选择制表符或逗号分隔符,btnExcel.Separator = PNayak.Web.UI.WebControls.ExportButton.SeparatorTypeEnum.TAB
。 Delimiter
属性用于指定任何分隔符,例如单引号、双引号、管道符等。默认值为 Nothing
(空字符串)。
演示代码
源代码与示例项目一起提供,以测试解决方案。
- 安装非常简单。将演示代码 zip 文件解压到指定的目录。
- 将创建两个目录。(即,\\PNWebControls 和 \\TestMyControls)。确保它们都位于同一个父目录下。
- 通过右键单击目录 \\TestMyControls 并打开 Web 共享的属性,或使用 IIS MMC 创建虚拟目录。(注意:这是一个演示项目。)
- 在 Visual Studio 2003 中打开演示解决方案(TestPNControls.sln)。(此控件也适用于 VS 2002。您知道怎么做,只需更改项目/解决方案文件中的版本号,然后在 Visual Studio 2002 中打开它。)
如何在您的项目中使用该控件
您可以包含 PNWebControls 项目并在您的项目中引用它,或者引用程序集(PNayak.Web.UI.WebControls.ExportButton.dll)。您还可以在 Visual Studio 工具箱中添加此控件以进行设计时使用。
[注意: 此程序集还包含 ExportLinkButton
,因为有些人可能更喜欢链接按钮而不是常规按钮。]
查看我的 .NET 站点 了解更多信息。
历史
- 2004 年 7 月 8 日 - 更新下载。
- 2004 年 12 月 9 日 - 更新下载和文章。