Доступ к ячейкам листа

Как получить доступ к ячейкам

Aspose.Cells предоставляет класс, Workbook, который представляет собой файл Excel. Класс Workbook содержит WorksheetCollection, который позволяет получить доступ к каждому листу в файле Excel. Лист представлен классом Worksheet. Класс Worksheet предоставляет коллекцию Cells, которая представляет все ячейки на листе.

Мы можем использовать коллекцию Cells для доступа к ячейкам в листе. Aspose.Cells предоставляет три основных подхода для доступа к ячейкам в листе:

  1. Использование имени ячейки.
  2. Использование индекса строки и столбца ячейки.
  3. Использование индекса ячейки в коллекции Cells

ВАЖНО: Мы отметили, что третий подход является самым быстрым, а первый - самым медленным. Разница в производительности между подходами очень мала, поэтому не стоит беспокоиться о снижении производительности, какой бы подход вы ни использовали.

Как получить объект Ячейки по имени ячейки

Разработчики могут получить доступ к любой конкретной ячейке, передав ее имя ячейки в коллекцию Cells класса Worksheet в качестве индекса.

Если вы создаете пустой лист на старте, количество коллекции Cells равно нулю. Когда вы используете этот подход для доступа к ячейке, он будет проверять, существует ли эта ячейка в коллекции или нет. Если да, то возвращает объект ячейки в коллекции, в противном случае создает новый объект Cell, добавляет объект в коллекцию Cells и затем возвращает объект. Этот подход является самым простым способом доступа к ячейке, если вы знакомы с Microsoft Excel, но он самый медленный по сравнению с другими подходами.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
Workbook workbook = new Workbook(dataDir + "book1.xls");
// Using the Sheet 1 in Workbook
Worksheet worksheet = workbook.Worksheets[0];
// Accessing a cell using its name
Cell cell = worksheet.Cells["A1"];
string value = cell.Value.ToString();
Console.WriteLine(value);

Как получить объект Ячейки по индексу строки и столбца ячейки

Разработчики могут получить доступ к любой конкретной ячейке, передав индексы ее строки и столбца в коллекцию Cells класса Worksheet.

Этот подход работает так же, как и первый подход.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
// Instantiating a Workbook object
Workbook workbook = new Workbook(dataDir + "book1.xls");
// Using the Sheet 1 in Workbook
Worksheet worksheet = workbook.Worksheets[0];
// Accessing a cell using its row and column
Cell cell = worksheet.Cells[0,0];
string value = cell.Value.ToString();
Console.WriteLine(value);

Как получить объект Ячейки по индексу ячейки в коллекции ячеек

К ячейке также можно получить доступ, передав числовой индекс ячейки в коллекцию Cells.

Если вы используете этот подход для доступа к ячейкам, может быть сгенерировано исключение, если числовой индекс ячейки находится вне диапазона. Этот подход является самым быстрым для доступа к ячейкам, но важно знать, что если вы используете этот подход для доступа к объекту ячейки, числовой индекс может измениться после добавления новых ячеек в коллекцию Cells. Объекты ячеек в коллекции Cells внутренне сортируются по индексам строки и столбца.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
// Open an existing worksheet
Workbook workbook = new Workbook(dataDir + "book1.xls");
// Using the Sheet 1 in Workbook
Worksheet worksheet = workbook.Worksheets[0];
// Accessing a cell using its row and column.
Cell cell = worksheet.Cells.CheckCell(0, 0);
if (cell != null)
{
string value = cell.Value.ToString();
Console.WriteLine(value);
}

Как получить максимальный диапазон отображения листа

Aspose.Cells позволяет разработчикам получить максимальный дисплейный диапазон листа. Максимальный дисплейный диапазон - диапазон ячеек между первой и последней ячейкой с содержимым - полезен, если вам нужно скопировать, выбрать или отобразить всё содержимое листа в изображении.

Вы можете получить доступ к максимальному диапазону отображения листа с помощью Worksheet.Cells.MaxDisplayRange. В следующем примере кода показано, как получить доступ к свойству MaxDisplayRange.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
// Path to source file
string filePath = dataDir + "Book1.xlsx";
// Instantiating a Workbook object
Workbook workbook = new Workbook(filePath);
// Instantiate a workbook from source file
Workbook wb = new Workbook(filePath);
// Access the first workbook
Worksheet worksheet = wb.Worksheets[0];
// Access the Maximum Display Range
Range range = worksheet.Cells.MaxDisplayRange;
// Print the Maximum Display Range RefersTo property
Console.WriteLine("Maximum Display Range: " + range.RefersTo);