Доступ к Cells рабочего листа

Доступ Cells

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

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

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

Использование имени Cell

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

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

//For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-C
//Path of input excel file
StringPtr sampleData = dirPath->StringAppend(new String("sampleData.xlsx"));
//Read input excel file
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(sampleData);
//Accessing the first worksheet in the Excel file
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
//Get cells from sheet
intrusive_ptr<ICells> cells = worksheet->GetICells();
//Accessing a cell using its name
intrusive_ptr<ICell> cell = cells->GetObjectByIndex(new String("B3"));
//Write string value of the cell on console
Console::Write(new String("Value of cell B3: "));
Console::WriteLine(cell->GetStringValue());

Использование индекса строк и столбцов Cell

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

//For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-C
//Path of input excel file
StringPtr sampleData = dirPath->StringAppend(new String("sampleData.xlsx"));
//Read input excel file
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(sampleData);
//Accessing the first worksheet in the Excel file
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
//Get cells from sheet
intrusive_ptr<ICells> cells = worksheet->GetICells();
//Accessing cell B3 using its row and column index
intrusive_ptr<ICell> cell = cells->GetObjectByIndex(2, 1);
//Write string value of the cell on console
Console::Write(new String("Value of cell B3: "));
Console::WriteLine(cell->GetStringValue());

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

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

Вы можете получить доступ к максимальному диапазону отображения рабочего листа, используяMaxDisplayIRange методCellsколлекция.

//For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-C
//Path of input excel file
StringPtr sampleData = dirPath->StringAppend(new String("sampleData.xlsx"));
//Read input excel file
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(sampleData);
//Accessing the first worksheet in the Excel file
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
//Get cells from sheet
intrusive_ptr<ICells> cells = worksheet->GetICells();
//Access the Maximum Display Range
intrusive_ptr<IRange> range = cells->GetMaxDisplayIRange();
//Print string value of the cell on console
Console::Write(new String("Maximum Display Range of Worksheet: "));
Console::WriteLine(range->GetRefersTo());