Åtkomst till Cells i ett arbetsblad
Tillgång till Cells
Aspose.Cells tillhandahåller en klassIArbetsbok som representerar en Excel-fil. DeIArbetsbok klass innehåller enArbetsbladsamling som gör det möjligt att komma åt varje kalkylblad i Excel-filen. Ett arbetsblad representeras avIArbetsblad klass. DeIArbetsblad klass ger enCellssamling som representerar alla celler i kalkylbladet.
Vi kan användaCellssamling för att komma åt celler i ett kalkylblad. Aspose.Cells tillhandahåller tre grundläggande metoder för att komma åt celler i ett kalkylblad:
- Använder cellnamn.
- Använda en cells rad- och kolumnindex.
- Använda ett cellindex iCellssamling
Använder Cell Namn
Utvecklare kan komma åt vilken specifik cell som helst genom att skicka dess cellnamn tillCells samling avIArbetsbladklass som ett index.
Om du skapar ett tomt kalkylblad vid start kommer antaletCellssamlingen är noll. När du använder det här tillvägagångssättet för att komma åt en cell, kommer den att kontrollera om denna cell finns i samlingen eller inte. Om ja, returnerar den cellobjektet i samlingen annars skapar den ett nyttICell objekt, lägger till objektet tillCellssamling och returnerar sedan objektet. Detta tillvägagångssätt är det enklaste sättet att komma åt cellen om du är bekant med Microsoft Excel, men det är det långsammaste sättet jämfört med andra metoder.
//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()); |
Använda rad- och kolumnindex för Cell
Utvecklare kan komma åt vilken specifik cell som helst genom att skicka indexen för dess rad och kolumn tillCells samling avIArbetsbladklass. Detta tillvägagångssätt fungerar på samma sätt som det första tillvägagångssättet.
//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()); |
Få åtkomst till maximalt visningsområde för arbetsblad
Aspose.Cells tillåter utvecklare att komma åt ett kalkylblads maximala visningsområde. Det maximala visningsintervallet - cellintervallet mellan den första och sista cellen med innehåll - är användbart när du behöver kopiera, markera eller visa hela innehållet i ett kalkylblad i en bild.
Du kan komma åt ett kalkylblads maximala visningsområde medMaxDisplayIRange metod förCellssamling.
//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()); |