65.9K
CodeProject 正在变化。 阅读更多。
Home

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

2004 年 5 月 18 日

2分钟阅读

viewsIcon

906565

downloadIcon

29295

一个扩展的 ASP.NET 按钮控件,用于导出/下载 Excel 或 CSV 文件。

Sample image

引言

微软创建了一个出色的可扩展框架,特别是针对 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.ExcelSeparator 属性可用于选择制表符或逗号分隔符,btnExcel.Separator = PNayak.Web.UI.WebControls.ExportButton.SeparatorTypeEnum.TABDelimiter 属性用于指定任何分隔符,例如单引号、双引号、管道符等。默认值为 Nothing (空字符串)。

演示代码

源代码与示例项目一起提供,以测试解决方案。

  1. 安装非常简单。将演示代码 zip 文件解压到指定的目录。
  2. 将创建两个目录。(即,\\PNWebControls\\TestMyControls)。确保它们都位于同一个父目录下。
  3. 通过右键单击目录 \\TestMyControls 并打开 Web 共享的属性,或使用 IIS MMC 创建虚拟目录。(注意:这是一个演示项目。)
  4. 在 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 日 - 更新下载和文章。
© . All rights reserved.