將Excel轉化爲DataSet
1.先將Excel文件上傳,取到上傳的Excel文件的絕對路徑;
2.將Excel中的數據讀取到DataSet中;
/// <summary>
/// 將Excel轉化爲DataSet
/// </summary>
/// <param name="path">Excel路徑</param>
/// <returns>數據集</returns>
public static DataSet ExcelToDataSet(string path)
{
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + path + ";Extended Properties=Excel 8.0;";
DataSet myDataSet = new DataSet();
using (OleDbConnection myOleDbConnection = new OleDbConnection(strConn))
{
myOleDbConnection.Open();
string strExcel = " select * from [sheet1$]";
using (OleDbCommand myOleDbCommand = new OleDbCommand(strExcel, myOleDbConnection))
{
myOleDbCommand.ExecuteNonQuery();
using (OleDbDataAdapter myOleDbDataAdapter = new OleDbDataAdapter(myOleDbCommand))
{
myOleDbDataAdapter.Fill(myDataSet);
}
}
}
return myDataSet;
}
/// <summary>
/// 將DataSet中的數據一次性存儲到數據庫
/// </summary>
/// <param name="sql">數據</param>
/// <param name="strTblName">要操作的表</param>
/// <returns></returns>
public static int CommondDataTable(DataTable dt, string strTblName)
{
using (SqlConnection Connection = new SqlConnection(connectionString))
{
Connection.Open();
SqlTransaction trans = Connection.BeginTransaction();
try
{
SqlDataAdapter adapter = new SqlDataAdapter();
SqlCommand cmd = new SqlCommand("select * from " + strTblName, Connection);
cmd.Transaction = trans;
adapter.SelectCommand = cmd;
SqlCommandBuilder cmdBuilder = new SqlCommandBuilder(adapter);
int reuslt = adapter.Update(dt);
trans.Commit();
return reuslt;
}
catch (Exception ex)
{
trans.Rollback();
return 0;
}
}
}