Доступ к ячейкам листа
Как получить доступ к ячейкам
Aspose.Cells предоставляет класс, Workbook, который представляет собой файл Excel. Класс Workbook содержит WorksheetCollection, который позволяет получить доступ к каждому листу в файле Excel. Лист представлен классом Worksheet. Класс Worksheet предоставляет коллекцию Cells, которая представляет все ячейки на листе.
Мы можем использовать коллекцию Cells для доступа к ячейкам в листе. Aspose.Cells предоставляет три основных подхода для доступа к ячейкам в листе:
- Использование имени ячейки.
- Использование индекса строки и столбца ячейки.
- Использование индекса ячейки в коллекции 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); |