2015-05-29 3 views
1

Я могу читать отдельные ячейки, но я не могу читать строки или столбцы. С помощью этого кода я получаю читать одну ячейку:Чтение диапазона ячеек в документе Excel дает мне ошибку

xlWorkBook = xlApp.Workbooks.Open(@"C:\Users\bla\blas\users.xlsx", 0, true, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0); 
      xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);     
      Console.WriteLine(xlWorkSheet.get_Range("A1", "A1").Value.ToString()); 

Но когда я пытаюсь установить диапазон так:

Console.WriteLine(xlWorkSheet.get_Range(xlWorkSheet.Cells[1, 1], xlWorkSheet.Cells[3, 3]).Value.ToString()); 

Я получаю эту ошибку: «объект» не содержит определения для 'get_Range'.

+0

пытался 'xlWorkSheet.get_Range ("A1", "C3")'? – Banana

+0

Когда я пытаюсь это сделать, я получаю следующее: System.Object [,] – ERed

+0

Привет! Можете ли вы показать, как вы определяете переменную xlWorkSheet? – wonko79

ответ

1

Попробуйте это:

xlWorkBook = xlApp.Workbooks.Open(@"C:\Users\bla\blas\users.xlsx", 0, true, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0); 
xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);     

Range range1 = worksheet1.Cells[1, 1]; 
Range range2 = worksheet1.Cells[3, 3]; 

Range range = worksheet1.get_Range(range1, range2); 

object[,] valArray = range.Value2 as object[,]; 
int xCount = valArray.GetLength(0); 
int yCount = valArray.GetLength(1); 

for (int i = 1; i <= xCount; i++) 
{ 
    for (int j = 1; j <= yCount; j++) 
    { 
     object currentValue = valArray[i, j]; 
     if (currentValue != null) 
     { 
      Console.WriteLine(currentValue.ToString()); 
     } 
    } 
} 
Смежные вопросы