从GridView中将选定行提取到Excel工作表

时间:2016-01-26 16:47:22

标签: c# asp.net excel gridview

我有以下gridview,我想将列添加为图像图标以将所选行提取到Excel工作表。图像onclick事件上的代码是什么。

<%@ Page Title="" Language="C#" MasterPageFile="~/Site1.Master" AutoEventWireup="true" CodeBehind="SuppliersPage.aspx.cs" Inherits="WebApp_UNICEF.SuppliersPage" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">


<asp:GridView ID="grdMain" runat="server" CellPadding="4" ForeColor="#333333" 
    GridLines="None" 
    AutoGenerateSelectButton="True" 
    onselectedindexchanged="grdMain_SelectedIndexChanged" 
    BorderColor="#1EA4DA" BorderStyle="Solid" BorderWidth="1px" 
    CellSpacing="2" onrowdatabound="grdMain_RowDataBound" AllowPaging="True" 
    AllowSorting="True" onpageindexchanging="grdMain_PageIndexChanging" 
    onrowcreated="grdMain_RowCreated" 
    >
    <AlternatingRowStyle BackColor="White" ForeColor="#284775" />

    <EditRowStyle BackColor="#999999" BorderColor="#19A5D9" BorderStyle="Solid" 
        BorderWidth="1px" />
    <FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
    <HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
    <PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
    <RowStyle BackColor="#F7F6F3" ForeColor="#333333" BorderStyle="Solid" 
        BorderWidth="1px" />
    <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
    <SortedAscendingCellStyle BackColor="#E9E7E2" />
    <SortedAscendingHeaderStyle BackColor="#506C8C" />
    <SortedDescendingCellStyle BackColor="#FFFDF8" />
    <SortedDescendingHeaderStyle BackColor="#6F8DAE" />
</asp:GridView>

1 个答案:

答案 0 :(得分:0)

您可以使用ButtonField列来显示图像并具有点击功能。

  1. <asp:ButtonField>的列集合中添加GridView类型的列。

  2. 在步骤1中定义的ImageUrl的{​​{1}}属性中定义图像的网址。

  3. 定义步骤1中定义的ButtonField的{​​{1}},任何名称都可以使用,例如ExportToExcel

    1. 处理在GridView的RowCommand事件中将行导出为ex​​cel的代码。
  4. void grdMain_RowCommand(Object sender,GridViewCommandEventArgs e)   {

    CommandName