hv_excel.aspx
<%@ Page Language="C#" MasterPageFile="~/EvaManager.master" AutoEventWireup="true" CodeFile="hv_excel.aspx.cs" Inherits="hv_excel" Title="Untitled Page" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server"><script>
     function callBack(fileName)
     {
        
        document.getElementById('<%=Attach1.ClientID%>').value=fileName;
     }
    </script>   <fieldset>
       <legend>组长及联动对象上传</legend>
       
       
       <table><tr>
                      <td><iframe id="file" name="file" src="attachment.aspx" frameborder="0" width="270" height="25" marginheight="0" marginwidth="0" ></iframe></td>
                      <td><asp:Button ID="Button3" runat="server" Text="显示" OnClick="Button3_Click" CssClass="Bgseted"/></td><td> <asp:Button ID="Button2" runat="server" Text="保存" OnClick="Button2_Click" CssClass="Bgseted"/></td>
       </tr></table>
       
    
    
    
    
   
    
           
    <asp:TextBox ID="Attach1" runat="server" CssClass="noDis" ></asp:TextBox>
       
       
        <asp:GridView ID="GridView2" runat="server" CssClass="GV" AutoGenerateColumns="false" AllowPaging="true" OnPageIndexChanging="GridView2_PageIndexChanging" GridLines="Both" Width="100%">
    <Columns>
    <asp:BoundField DataField="name" HeaderText = "工号" />
    <asp:BoundField DataField="empno" HeaderText = "工号" />
       
   
    <asp:BoundField DataField="total" HeaderText = "金额" />
       
    <asp:BoundField DataField="frdt" HeaderText = "开始日期" />
      
   
    
    </Columns>
    <PagerSettings FirstPageText="首页" NextPageText="下一页" LastPageText="末页" Mode="NumericFirstLast" PreviousPageText="上一页" PageButtonCount="10" />
   
    <RowStyle HorizontalAlign="center" />
    <AlternatingRowStyle BackColor="#EEEEEE" />
    </asp:GridView>
    
    
    
   </fieldset>
    </asp:Content>
hv_excel.aspx.cs
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;public partial class hv_excel : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (IsPostBack)
        {
            if (ViewState["GV2"] != null)
            {
                DataTable dt = (DataTable)ViewState["GV2"];
                GridView2.DataSource = dt;
                GridView2.DataBind();
            }
        }
       
       
    }
    protected void Button3_Click(object sender, EventArgs e)
    {
        String savePath = Request.PhysicalApplicationPath + "\\upfile\\" + Attach1.Text;
        EvaClass dE = new EvaClass();        DataTable dt1 = dE.readExcel(savePath.Replace(@"\\", @"\"));
        dt1 = formatDt(dt1);
        try
        {
            GridView2.DataSource = dt1;
            GridView2.DataBind();
            ViewState["GV2"] = dt1;
        }
        catch
        {
            ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "alert", "alert('Excel文件内容与预期格式不一致,请确保为本位置下载的Excel文件!');", true);
            return;
        }
    }    ///// <summary>
    ///// GV2分页构造
    ///// </summary>
    ///// <param name="sender"></param>
    ///// <param name="e"></param>
    protected void GridView2_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        GridView2.PageIndex = e.NewPageIndex;
        GridView2.DataSource = (DataTable)Cache["GV2"];
        GridView2.DataBind();
    }
    /// <summary>
    /// 格式化dt 删除没有填写的行
    /// </summary>
    /// <param name="dt"></param>
    /// <returns></returns>
    private DataTable formatDt(DataTable dt)
    {
        ArrayList al = new ArrayList();
        int j = 0;
        for (int i = 0; i < dt.Rows.Count; i++)
        {
            if (dt.Rows[i]["empno"].ToString().Length == 0)
                al.Add(i);
        }
        foreach (int c in al)
        {
            dt.Rows.RemoveAt(c - j);
            j++;
        }
        return dt;
    }    protected void Button2_Click(object sender, EventArgs e)
    {
        if (GridView2.Rows.Count == 0)
        {
            ScriptManager.RegisterStartupScript(this.Button2, this.GetType(), "alert", "alert('未指定文件!')", true);
            return;
        }
        ProcessData();
    }    /// <summary>
    /// 处理上传数据
    /// </summary>
    private void ProcessData()
    {
        if (ViewState["GV2"] == null)
        {
            ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "alert", "alert('请从新上传文件');", true);
            return;
        }
        DataTable dt = (DataTable)ViewState["GV2"];
        for (int k = 0; k < dt.Rows.Count; k++)
        {        }
        Response.Redirect("hv_excel.aspx");
    }}
attachment.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="attachment.aspx.cs" Inherits="attachment" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>无标题页</title>
      <link href="style/controls.css" rel="stylesheet" type="text/css" />
      
    
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <asp:FileUpload ID="FileUpload1" runat="server" />
          <asp:Button ID="Button1" runat="server" Text="上传" OnClick="Button1_Click"  CssClass="Bgseted"/>
    </div>    </form>
</body>
</html>
attachment.aspx.cs
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;public partial class attachment : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {    }
    protected void Button1_Click(object sender, EventArgs e)
    {
         if (FileUpload1.HasFile == false)
         {
             ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "alert", "alert('未指定上传文件');", true);
             return;
         }
         if (FileUpload1.FileName.Substring(FileUpload1.FileName.LastIndexOf('.') + 1, 3).ToString().ToLower() != "xls")
         {
             ScriptManager.RegisterStartupScript(this.Button1, this.GetType(), "alert", "alert('文件格式错误!请确保为本页面下载Excel!');", true);
             return;
         }         String savePath = Request.PhysicalApplicationPath + "\\upfile\\" + FileUpload1.FileName;         FileUpload1.SaveAs(savePath);
         Page.ClientScript.RegisterClientScriptBlock(Page.GetType(), "ddd", "window.top.callBack('"+FileUpload1.FileName+"');", true);    }
}