Winform下的 Excel导入数据库数据
/// <summary>
/// 开始导入
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnSave_Click(object sender, EventArgs e)
{
TelImport.CheckForIllegalCrossThreadCalls = false;
panel1.Visible = true;
//开启一个线程,导入Excel
Thread threadImport = new Thread(new ParameterizedThreadStart(ImportExcel));
threadImport.Start(panel1);
}
/// <summary>
/// 开启线程,导入数据
/// </summary>
public void ImportExcel(object panel1)
{
OleDbConnection conn = new OleDbConnection();
try
{
conn.ConnectionString = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source=" + txtFilePath.Text + ";Extended Properties='Excel 8.0;HDR=NO;IMEX=1'";
OleDbDataAdapter adt = new OleDbDataAdapter("select * from [sheet1$]", conn);
DataTable dtResult = new DataTable();
adt.Fill(dtResult);
for (int i = 1; i < dtResult.Rows.Count; i++)
{
TelNum objTelNum = new TelNum();
if (dtResult.Rows[i][0] != null && dtResult.Rows[i][0] != "")
{
objTelNum.Org1No = cbxFirstDepart.SelectedValue.ToString();
objTelNum.Org2No = cbxSecDepart.SelectedValue.ToString();
objTelNum.Org3No = cbxThirdDepart.SelectedValue.ToString();
objTelNum.Org4No = cbxFourDepart.SelectedValue.ToString();
objTelNum.ProID = Convert.ToInt32(cbxProject.SelectedValue);
objTelNum.strTelNum = dtResult.Rows[i][0].ToString();
objTelNum.NumberTypeNo = cbxTelType.SelectedValue.ToString();
objTelNum.Createdby = User.LoginUser.Userid;
objTelNum.Createdon = DateTime.Now;
TelNumService objTelNumService = new TelNumService();
objTelNumService.InsertTelNum(objTelNum);
}
}
Panel plPic = (Panel)panel1;
plPic.Visible = false;
}
catch (Exception ex)
{
string strError = ex.ToString();
MessageBox.Show("导入错误,请核对导入文件!");
}
}
//有多线程,需要一个Panel