如何在Excel中读取下拉列表的值并添加到数据表C#

你好,我面临以下问题:我有一个Excel文件,有一些单元格下拉列表。 我正在尝试读取excel并将其添加到数据表单以便操作数据。 我已经设法读取excel并将其添加到数据库,但我的方法读取的所有与dropdownlist的单元格的值,它不只读取所选的一个。 例如,我给了一个单元格的三个值(1,2,3),单元格的值为1.我的方法读取excel,并将不同行中的所有值添加到数据表中。 所以它增加了1,2,3。 你可以看到我的代码如下:

protected void ddlReviewStatus_SelectedIndexChanged(object sender, EventArgs e) { string date = DateTime.Now.ToShortDateString(); string finalDate = date.Replace("/", ""); string fileName = "test.xlsx"; DropDownList ddlReviewStatus = sender as DropDownList; GridViewRow row = (GridViewRow)ddlReviewStatus.NamingContainer; string companyName = ((Label)row.FindControl("lblCompName")).Text; string filePath = ReportTemplatesPath + "\\" + companyName + "\\" + finalDate + "\\" + fileName; if (ddlReviewStatus.SelectedItem.Text.ToUpper() == "DONE") { string extension = Path.GetExtension(fileName); string conStr = ""; switch (extension) { case ".xls": //Excel 97-03 conStr = ConfigurationManager.ConnectionStrings["Excel03ConString"] .ConnectionString; break; case ".xlsx": //Excel 07 conStr = ConfigurationManager.ConnectionStrings["Excel07ConString"] .ConnectionString; break; } conStr = String.Format(conStr, filePath,"Yes"); OleDbConnection connExcel = new OleDbConnection(conStr); OleDbCommand cmdExcel = new OleDbCommand(); OleDbDataAdapter oda = new OleDbDataAdapter(); DataTable dt = new DataTable(); cmdExcel.Connection = connExcel; //Get the name of First Sheet connExcel.Open(); DataTable dtExcelSchema; dtExcelSchema = connExcel.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null); string SheetName = dtExcelSchema.Rows[0]["TABLE_NAME"].ToString(); connExcel.Close(); connExcel.Open(); cmdExcel.CommandText = "SELECT * From [" + SheetName + "]"; oda.SelectCommand = cmdExcel; oda.Fill(dt); connExcel.Close(); //Bind Data to GridView GridView1.Caption = Path.GetFileName(filePath); GridView1.DataSource = dt; GridView1.DataBind(); } else { } }