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

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

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

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

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

Использование имени ячейки

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

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

Aspose::Cells::Startup();
//For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-C
//Path of input
U16String dirPath(u"");
//Path of output
U16String outPath(u"");
//Path of input excel file
U16String sampleData = dirPath + u"sampleData.xlsx";
//Read input excel file
Workbook workbook(sampleData);
//Accessing the first worksheet in the Excel file
Worksheet worksheet = workbook.GetWorksheets().Get(0);
//Get cells from sheet
Cells cells = worksheet.GetCells();
//Accessing a cell using its name
Cell cell = cells.Get(u"B3");
//Write string value of the cell on console
std::cout << "Value of cell B3: "
<< cell.GetStringValue().ToUtf8() << std::endl;
Aspose::Cells::Cleanup();

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

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

Aspose::Cells::Startup();
//For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-C
//Path of input
U16String dirPath(u"");
//Path of output
U16String outPath(u"");
//Path of input excel file
U16String sampleData = dirPath + u"sampleData.xlsx";
//Read input excel file
Workbook workbook(sampleData);
//Accessing the first worksheet in the Excel file
Worksheet worksheet = workbook.GetWorksheets().Get(0);
//Get cells from sheet
Cells cells = worksheet.GetCells();
//Accessing cell B3 using its row and column index
Cell cell = cells.Get(2, 1);
//Write string value of the cell on console
std::cout << "Value of cell B3: "
<< cell.GetStringValue().ToUtf8() << std::endl;
Aspose::Cells::Cleanup();

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

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

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

Aspose::Cells::Startup();
//For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-C
//Path of input
U16String dirPath(u"");
//Path of output
U16String outPath(u"");
//Path of input excel file
U16String sampleData = dirPath + u"sampleData.xlsx";
//Read input excel file
Workbook workbook(sampleData);
//Accessing the first worksheet in the Excel file
Worksheet worksheet = workbook.GetWorksheets().Get(0);
//Get cells from sheet
Cells cells = worksheet.GetCells();
//Access the Maximum Display Range
Range range = cells.GetMaxDisplayRange();
//Print string value of the cell on console
std::cout << "Maximum Display Range of Worksheet: "
<< range.GetRefersTo().ToUtf8() << std::endl;
Aspose::Cells::Cleanup();