C# 在ASP.NET中将数据导出和导入到Excel文件时出现问题

C# 在ASP.NET中将数据导出和导入到Excel文件时出现问题,c#,asp.net,C#,Asp.net,我正在使用以下代码将数据表中的数据导入excel文件: public void ExportDataTable(DataTable dt) { string attachment = "attachment; filename=EmployeeList.xls"; HttpContext.Current.Response.Clear(); HttpContext.Current.Response.AddHea

我正在使用以下代码将数据表中的数据导入excel文件:

public void ExportDataTable(DataTable dt)
        {
            string attachment = "attachment; filename=EmployeeList.xls";
            HttpContext.Current.Response.Clear();
            HttpContext.Current.Response.AddHeader("content-disposition", attachment);
            HttpContext.Current.Response.ContentType = "application/vnd.ms-excel";
            string sTab = "";
            foreach (DataColumn dc in dt.Columns)
            {
                HttpContext.Current.Response.Write(sTab + dc.ColumnName);
                sTab = "\t";
            }
            HttpContext.Current.Response.Write("\n");

            int i;
            foreach (DataRow dr in dt.Rows)
            {
                sTab = "";
                for (i = 0; i < dt.Columns.Count; i++)
                {
                    HttpContext.Current.Response.Write(sTab + dr[i].ToString());
                    sTab = "\t";
                }
                HttpContext.Current.Response.Write("\n");
            }
            HttpContext.Current.Response.End();
        }
请以我可以导出和导入MSOffice 2003和2007 excel文件的方式解决我的问题

谢谢, 拉吉比尔

  public static DataTable excelToDataTable(string file)
        {
            DataTable dt = new DataTable();
            OleDbConnection oledbcn = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source= Server.MapPath("EmployeeList.xls").ToString(); Extended Properties='Excel 8.0;HDR=Yes;IMEX=1'");       
            string SheetName = "EmployeeList";
            oledbcn.Open();
            OleDbCommand cmd = new OleDbCommand(@"SELECT * FROM [" + SheetName + "$]", oledbcn);
            OleDbDataAdapter oledbda = new OleDbDataAdapter();
            oledbda.SelectCommand = cmd;
            oledbda.Fill(dt);
            oledbcn.Close();

            return dt;
        }