В предыдущей статье я рассмотрел простую запись данных в документ Excel. Теперь настала пора чтения. Само собой мы можем прочитать данные из ячейки по индексу, но из какой именно? Кроме простого чтения нам необходимо знать, какая часть документа заполнена данными.
При чтении значения надо учесть, что внутри ячейки сидит Object, который надо самостоятельно конвертировать в Range, при этом содержимое ячейки может быть null.
// ЧТЕНИЕ ЗНАЧЕНИЯ public string GetCellValue(int rowIndex, int columnIndex) { string cellValue = ""; Excel.Range cellRange = (Excel.Range) _workSheet.Cells[rowIndex, columnIndex]; if (cellRange.Value != null) { cellValue = cellRange.Value.ToString(); } return cellValue; }
Для получения количества строк и столбцов с данными можно использовать следующий код
int usedRowsNum = _workSheet.UsedRange.Rows.Count;
или соотвественно
int usedColumnsNum = _workSheet.UsedRange.Columns.Count;
Текущий вариант класса для работы с Excel из C# - ExcelDocument.cs.zip
Excel- Вставка строк и изменение границ ячеек в Excel Interop из C#
- Excel 2010, Windows 7, два монитора и "ошибка при направлении команды приложению"
- Как прочитать db3/dbf/dbase из C#
- Работа с Excel из C# через COM Interop, часть 3, чтение данных
- Как полностью закрыть Excel, вызванный из C# Interop
- Работа с Excel из C# через COM Interop, часть 1, открываем документ и выводим данные