我想在.net中输入学生的名单还有成爱绩,因为数量比较多,可不可以在.net中插入Excel工作表,或者是在.net中使用Excel工作表之类的文件!希望各位大师帮忙!谢谢!

解决方案 »

  1.   

    可以把EXCEL的数据直接导入的。导出也可以的
      

  2.   

    ASPX文件
    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="GridviewExportExcel.aspx.cs" Inherits="GridviewExcel" EnableEventValidation="false"  %><!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>Gridview Excel</title>
        <link href="~/CSS/Gridview.css" type="text/css" rel="Stylesheet" />
    </head>
    <body>
        <form id="form1" runat="server">
        <div id="container">
            <asp:GridView ID="GridView1" BorderColor="Black" OnRowDataBound="GridView1_RowDataBound"   runat="server" AutoGenerateColumns="False"  Font-Size="12px" Width="530px" AllowSorting="True">
              <Columns>
                <asp:BoundField DataField="EmpID" HeaderText="编号"  />
                <asp:BoundField DataField="EmpRealName" HeaderText="姓名"  />
                <asp:BoundField DataField="EmpSex" HeaderText="性别"  />
                <asp:BoundField DataField="EmpAddress" HeaderText="住址"  />
              </Columns>
              <HeaderStyle BackColor="Azure" Font-Size="12px" HorizontalAlign="Center" />
                <RowStyle HorizontalAlign="Center" />
                <PagerStyle HorizontalAlign="Center" />
            </asp:GridView>
            <asp:Button ID="Button1" runat="server" Text="导 出 EXCEL 表 格" Height="34px" OnClick="Button1_Click" Width="263px" />
            <asp:Button ID="Button2" runat="server" Text="导 出 Word 文 档" Height="34px" OnClick="Button2_Click" Width="263px" /></div>
        </form>
    </body>
    </html>
      

  3.   

    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;
    using System.Drawing;
    using System.IO;
    using System.Text;
    /// <summary>
    /// Author:匆匆  Blog:http://www.cnblogs.com/huangjianhuakarl/
    /// 将Gridview中的数据导出Excel表格
    /// </summary>
    public partial class GridviewExcel : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                bind();
            }
        }
        /// <summary>
        /// 数据绑定
        /// </summary>
        public void bind()
        {
            string sqlStr = "select * from Employee";
            DataSet myds = Common.dataSet(sqlStr);
            GridView1.DataSource = myds;
            GridView1.DataKeyNames = new string[] { "ID" };
            GridView1.DataBind();
        }
        /// <summary>
        /// 在 GridView 控件中的某个行被绑定到一个数据记录时发生。此事件通常用于在某个行被绑定到数据时修改该行的内容。
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            foreach (TableCell tc in e.Row.Cells)
            {
                tc.Attributes["style"] = "border-color:Black";
            }
            if (e.Row.RowIndex != -1)
            {
                int id = GridView1.PageIndex * GridView1.PageSize + e.Row.RowIndex + 1;
                e.Row.Cells[0].Text = id.ToString();
            }
        }
        /// <summary>
        /// 导出Excel
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void Button1_Click(object sender, EventArgs e)
        {
            Export("application/ms-excel", "Employee information.xls");
        }
        /// <summary>
        /// 定义导出Excel的函数
        /// </summary>
        /// <param name="FileType"></param>
        /// <param name="FileName"></param>
        private void Export(string FileType, string FileName)
        {
            Response.Charset = "GB2312";
            Response.ContentEncoding = System.Text.Encoding.UTF8;
            Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(FileName, Encoding.UTF8).ToString());
            Response.ContentType = FileType;
            this.EnableViewState = false;
            StringWriter tw = new StringWriter();
            HtmlTextWriter hw = new HtmlTextWriter(tw);
            GridView1.RenderControl(hw);
            Response.Write(tw.ToString());
            Response.End();
        }
        /// <summary>
        /// 此方法必重写,否则会出错
        /// </summary>
        /// <param name="control"></param>
        public override void VerifyRenderingInServerForm(Control control)
        {
        }
        protected void Button2_Click(object sender, EventArgs e)
        {
            //Export("application/ms-excel", "Employee.doc");
            Export("application/ms-word", "员工信息.doc");//都可以
        }
    }
     
      

  4.   

    Button1导出EXCEL  Button2导出DOC
      

  5.   

    上面的是导出。导入如下:
    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="GridviewReadExcel.aspx.cs" Inherits="GridviewReadExcel" %><!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 id="Head1" runat="server">
        <title>Gridview Excel</title>
      </head>
    <body>
        <form id="form1" runat="server">
        <div id="container">
            <asp:GridView ID="GridView1" BorderColor="Black" OnRowDataBound="GridView1_RowDataBound"   runat="server" AutoGenerateColumns="False"  Font-Size="12px" Width="530px" AllowSorting="True">
              <Columns>
                <asp:BoundField DataField="编号" HeaderText="编号"  />
                <asp:BoundField DataField="姓名" HeaderText="姓名"  />
                <asp:BoundField DataField="性别" HeaderText="性别"  />
                <asp:BoundField DataField="住址" HeaderText="住址"  />
              </Columns>
              <HeaderStyle BackColor="Azure" Font-Size="12px" HorizontalAlign="Center" />
                <RowStyle HorizontalAlign="Center" />
                <PagerStyle HorizontalAlign="Center" />
            </asp:GridView>
            <asp:Button ID="Button1" runat="server" Text="从 EXCEL 中 导 入 数 据" Height="34px" OnClick="Button1_Click" Width="326px" />
        </div>
        </form>
    </body>
    </html>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;
    using System.Data.OleDb;
    /// <summary>
    /// Gridview从Excel中读取数据
    /// </summary>
    public partial class GridviewReadExcel : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
        }
        /// <summary>
        /// 在 GridView 控件中的某个行被绑定到一个数据记录时发生。此事件通常用于在某个行被绑定到数据时修改该行的内容。
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            foreach (TableCell tc in e.Row.Cells)
            {
                tc.Attributes["style"] = "border-color:Black";
            }
            if (e.Row.RowIndex != -1)
            {
                int id = GridView1.PageIndex * GridView1.PageSize + e.Row.RowIndex + 1;
                e.Row.Cells[0].Text = id.ToString();
            }
        }
        /// <summary>
        /// Inport
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void Button1_Click(object sender, EventArgs e)
        {
            GridView1.DataSource = createDataSource();
            GridView1.DataBind();
        }
        /// <summary>
        /// 以Excel为数据源获取数据集
        /// </summary>
        /// <returns></returns>
        private DataSet createDataSource()
        {
            string strCon;
            strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("~/Files/Employee.xls") + ";Extended Properties=Excel 8.0;";
            OleDbConnection con = new OleDbConnection(strCon);
            OleDbDataAdapter da = new OleDbDataAdapter("select * from [Employee$]", con);
            DataSet ds = new DataSet();
            da.Fill(ds);
            return ds;
        }
    }
      

  6.   

    导入要简单,相当于把EXCEL当做数据库读取就可以了
      

  7.   

    面实例在C#中连接Oracle数据库(Name),从表(TableName)中读取数据,并写入Excel。string cnString="Provider=msdaora.1;Data source=Name; ";
    cnString=cnString+"user id=UserName;password=Password";
    try
    {
     OleDbConnection cn=new OleDbConnection (cnString);
     cn.Open ();
     try
     {
      string s="select * from Name.TableName";
      OleDbCommand cmd=new OleDbCommand (s,cn);
      OleDbDataReader dr=cmd.ExecuteReader ();
      Excel.Application xlApp = new Excel.Application();
      if(xlApp==null){MessageBox.Show ("Can't open Excel!");return;}
      xlApp.Application .Workbooks .Add (true);
      int row=2,fieldcount;
      fieldcount=dr.FieldCount ;
      for(int col=0;col<fieldcount;col++) xlApp.Cells [1,col+1]=dr.GetName(col);
      while (dr.Read ())
      {
       for(int col=0;col<fieldcount;col++) 
        xlApp.Cells [row,col+1]=dr.GetValue(col).ToString();
        row++;
      }
      xlApp.Visible =true;
      xlApp=null;
     }
     catch(Exception ex ){MessageBox.Show (ex.Message );}
     finally {cn.Close();}
    }
    catch(Exception ex){MessageBox.Show (ex.Message );}
    }

      

  8.   

    可以通过使用.net将数据导入导出到execl中。