Excel导入到DataTable

1.前台代码

<asp:FileUpload ID="fupFiles" runat="server" />

<asp:Button ID="btnImprot" runat="server" Text="导入" OnClick="btnImprot_Click" />

2.后台代码

  protected void btnImprot_Click(object sender, EventArgs e)

    {

        String fileName = System.IO.Path.GetFileName(fupFiles.FileName);

        String path = Server.MapPath("~/" + fileName);

        fupFiles.SaveAs(path);



        DataTable dt = ImportExcelByDB(path);

       

    }

    public static DataTable ImportExcelByDB(string physicalPath)

    {

        string strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + physicalPath + ";Extended Properties='Excel 8.0;HDR=yes'";

        //  Excel 2007

        if (physicalPath.ToLower().IndexOf(".xlsx") > 0 && physicalPath.ToLower().EndsWith("xlsx"))

        {

            //strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source='" + physicalPath + "';Extended Properties='Excel 12.0;HDR=YES'";

            //strConn = "'Microsoft.ACE.OLEDB.12.0','Data Source=" + physicalPath + ";Extended Properties=\"Excel 12.0;HDR=Yes;IMEX=1\"'";

            strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + physicalPath + ";Extended Properties='Excel 8.0;HDR=yes'";

        }

        //  Excel 2003

        if (physicalPath.ToLower().IndexOf(".xls") > 0 && physicalPath.ToLower().EndsWith("xls"))

        {

            //strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source='" + physicalPath + "';Extended Properties='Excel 8.0;HDR=YES;'";

            strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source='" + physicalPath + "';Extended Properties=Excel 8.0";

        }

        DataSet dst = new DataSet();

        OleDbConnection conn = new OleDbConnection(strConn);

        try

        {

            if (conn.State.ToString() == "Closed")

            {

                conn.Open();

            }

            dst.Clear();

            string strSql = "SELECT * FROM  [Sheet1$]";

            OleDbDataAdapter adapter = new OleDbDataAdapter(strSql, conn);

            adapter.Fill(dst, "[Sheet1$]");

            conn.Close();

        }

        catch (Exception ee)

        {

            return null;

        }

        return dst.Tables[0];

    }

 

你可能感兴趣的:(Datatable)