您的位置:首页 > 数据库

C# 或Asp.Net 将excel表格导入数据库

2012-11-05 20:24 483 查看
一、把DataTable插入数据库

public static void DataTableToDB()

{

        string _strExcelFileName = @"D:\example.xls";

        DataTable dtExcel = ExcelToDataTable(_strExcelFileName,"Sheet1");

        for (int i = 0; i < dtExcel.Rows.Count; i++)

        {

             InsertDataToAccess(dtExcel.Rows[i][0].ToString(), float.Parse(dtExcel.Rows[i][1].ToString()));

        }

}

二、把Excel数据读入DataTable

public static DataTable ExcelToDataTable(string strExcelFileName, string strSheetName)

{

        string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + strExcelFileName + ";" +"Extended Properties=Excel 5.0;";

        string strExcel = string.Format("select * from [{0}$]", strSheetName);

        DataSet ds = new DataSet();

        using (OleDbConnection conn = new OleDbConnection(strConn))

        {

             conn.Open();

             OleDbDataAdapter adapter = new OleDbDataAdapter(strExcel, strConn);

             adapter.Fill(ds, strSheetName);

             conn.Close();

        }

        return ds.Tables[strSheetName];

}

三、向Access数据库表插入数据

public static void InsertDataToAccess(string _strPara,float _fPara)

{

        OleDbConnection oleDbConn = new OleDbConnection();

        oleDbConn.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\ExcelData.mdb;User Id=admin;Password=;";

        oleDbConn.Open();

        string strInsertString = "INSERT INTO tb_excelData (strCollumn1,fCollumn2) VALUES (@strCollumn1,@fCollumn2)";

        OleDbCommand oComm = new OleDbCommand(strInsertString, oleDbConn);

        oComm.Parameters.Add("@strCollumn1", OleDbType.Char , 50);

        oComm.Parameters["@strCollumn1"].Value = _strPara;

        oComm.Parameters.Add("@fCollumn2", OleDbType.Double);

        oComm.Parameters["@fCollumn2"].Value = _fPara;

      

        ocomm.ExecuteNonQuery();

        oleDbConn.Close();

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: