Как я могу сделать это «выбрать * из [лист1 $], где столбец L» в Excel, используя OLEDB для C #? - PullRequest
2 голосов
/ 23 декабря 2010

Я спрашивал об этом вопросе раньше, но, поскольку требования изменились, я снова буду искать ответы.

Я пытаюсь получить все содержимое в столбце L Excel или что-нибудь под заголовком DocumentNo, который, кстати, размещается на 7 ячеек ниже первой строки. Таким образом, данные DocumentNo находятся в L: 7. За ним следует пустая ячейка, затем ячейки с номерами документов. Я хочу получить все номера документов и поместить их в массив для использования в последующих функциях.

Помогите пожалуйста. Спасибо.

Ответы [ 2 ]

1 голос
/ 23 декабря 2010

Вы можете сделать это, используя модификатор диапазона, чтобы указать ему, куда идти

Например, если вы хотите, чтобы в вашем примере был только столбец L

SELECT DocumentNo
FROM [sheet1$L7:Ll40]

Это предполагает, что номера документовконец в L140.

0 голосов
/ 24 декабря 2010
   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); 
        }
...