excel文件阅读一列和连续的行

我有一个两列的Excel文件。 我想获得一列和所有行,然后第二列和所有行。 同样的,我也应该有12列的列。

在这里输入图像说明

我已经使用下面的代码,但我没有得到所需的输出,我在第一列获得Emp_name ,但我应该得到它在第二列。

 for (int Cnum = 1; Cnum <= ShtRange.Columns.Count; Cnum++) { if (Cnum == 1) { dt.Columns.Add((ShtRange.Cells[1, Cnum] as Excel.Range).Value2.ToString()); for (int Rnum = 1; Rnum <= 9; Rnum++) { dt.Rows.Add((ShtRange.Cells[Rnum, 1] as Excel.Range).Value2.ToString()); } } else if (Cnum == 2) { dt.Columns.Add((ShtRange.Cells[1, Cnum] as Excel.Range).Value2.ToString()); for (int Rnum = 1; Rnum <= 9; Rnum++) { dt.Rows.Add((ShtRange.Cells[Rnum, 2] as Excel.Range).Value2).ToString(); } } 

坦率地说,我不认为你的代码有任何问题…这是一个简单的方法,得到你的Excel dataset内容

  ds = new DataSet(); string myConnStr = ""; if (txtdestination.Contains(".xlsx")) { myConnStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + txtdestination.ToString() + ";" + "Extended Properties=\"Excel 12.0 Xml;HDR=YES;IMEX=1\""; } else { myConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + txtdestination.ToString() + ";Extended Properties=\"Excel 8.0;HDR=Yes;IMEX=1\""; } OleDbConnection myConn = new OleDbConnection(myConnStr); OleDbCommand cmd = new OleDbCommand("select * from [Sheet1$]", myConn); OleDbDataAdapter adapter = new OleDbDataAdapter(); adapter.SelectCommand = cmd; myConn.Open(); adapter.Fill(ds); myConn.Close(); 

请注意,您需要将工作表名称设置为Sheet1

txtdestination是你的excel文件的path