我怎么能做到这一点“select * from 其中列是L”在Excel中使用OLEDB的C#?

之前我曾经问过这个问题 ,但是自从需求改变以后,我会再次寻求答案。

我正在尝试获取Excel列的L列中的所有内容或DocumentNo标题下的任何内容,顺便说一下,它将放置在第一行下面的7个单元格中。 所以DocumentNo数据是L:7。 之后是一个空白单元格,然后是文档编号的单元格。 我想获得所有的文件号码,并把它放在一个数组中,以用于后续的function。

请帮助。 谢谢。

你可以使用范围修饰符来告诉它去哪里

例如,如果你只想在你的例子L列

SELECT DocumentNo FROM [sheet1$L7:Ll40] 

这是假设文件号码在L140结束。

  try { //Create a OLEDB connection for Excel file string connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + "d:\\data.xls" + ";" + "Extended Properties=Excel 8.0;"; OleDbConnection objConn = new OleDbConnection(connectionString); objConn.Open(); // Creating a command object to read the values from Excel file OleDbCommand ObjCommand = new OleDbCommand("SELECT DocumentNo FROM [Sheet1$]", objConn); // Creating a Read object OleDbDataReader objReader = ObjCommand.ExecuteReader(); // Looping through the values and displaying //if (objReader. while (objReader.Read()) { object obj = objReader["DocumentNo"]; } //Disposing the objects objReader.Dispose(); ObjCommand.Dispose(); objConn.Dispose(); } catch (Exception ex) { MessageBox.Show(ex.Message); }