Åtkomst av GridCell i ett arbetsblad

Åtkomst av cell i ett arbetsblad

Vi kan få åtkomst till vilken cell som helst i ett arbetsblad med hjälp av Aspose.Cells.GridDesktops API. Det kan finnas tre möjliga sätt att få åtkomst till cellen enligt följande:

  • Använda cellnamn
  • Använda rad- och kolumnindex
  • Få fokuserad cell

Låt oss diskutera ovanstående tre tillvägagångssätt en efter en.

Användning av cellnamn

Alla celler i ett arbetsblad har ett unikt namn. Till exempel A1, A2, B1, B2 etc. Aspose.Cells.GridDesktop tillåter utvecklare att få åtkomst till vilken önskad cell som helst genom att använda dess cellnamn. Det enda vi behöver göra är att helt enkelt skicka cellnamnet (som index) till Cells-samlingen på Worksheet.

Observera

Åtkomst till GridCell med hjälp av cells[cellName] kan använda mer minne. Det kommer alltid att skapa en ny cell (GridCell) objekt oavsett om cellen är null.

Användning av cellens rad- och kolumnindex

Bästa praxis:

om vi vill få cellens värde eller cellstil och inte vill göra uppdateringsoperationen, kan vi använda CheckCell-metoden som kommer att returnera null om cellen inte finns. Detta kommer att spara minne.

Worksheet sheet = gridDesktop1.GetActiveWorksheet();
// Åtkomst av en cell med hjälp av dess rad- och kolumnindex
GridCell cell = sheet.Cells.CheckCell(1, 1);
   if(cell!=null)
   {
    Console.WriteLine(cell.ToString());
   }

En cell i ett arbetsblad kan också identifieras med sin plats i termer av dess rad- och kolumnindex. Det enda vi behöver göra är att helt enkelt skicka rad- och kolumnindexen för cellen till Cells-samlingen på Worksheet.

Observera

Att komma åt gridcellen med cells[rowIndex, columnIndex] kan förbruka mer minne. Det kommer alltid att skapa en ny cell (GridCell)-objekt oavsett om cellen är null eller inte.

Få fokuserad cell

Om du inte vet exakt vilken cell som ska kommas åt, tillåter också Aspose.Cells.GridDesktop dig att komma åt en cell som är i fokus för en användare. Med den här funktionen kan du låta en användare välja vilken cell som helst och sedan komma åt den cellen i bakgrunden. Det kan enkelt uppnås genom att använda GetFocusedCell-metoden i Worksheet.

Bästa praxis:

Iterera över celler

om vi vill komma åt alla celler i arbetsbladet en efter en, kan vi använda iterators för att gå igenom de befintliga cellerna. Detta kommer att spara minne.

   Worksheet sheet = gridDesktop1.GetActiveWorksheet();

   GridCells cells = sheet.Cells;
   foreach (GridCell c in cells)
  {
      Console.WriteLine(c.ToString());
   }

jämför nedanstående kod som är dålig, detta kommer att skapa alla celler oavsett om de är null, vilket kommer att orsaka minnesproblem, så använd inte detta sätt

 Worksheet sheet = gridDesktop1.GetActiveWorksheet();
 for(int r=0;r< sheet.RowsCount;r++)
 {
     for(int c=0;c< sheet.ColumnsCount; c++)
     {
         Console.WriteLine(sheet.Cells[r,c].ToString());
     }
 }