Åtkomst till arbetsbladscell

Åtkomst till celler i ett arbetsblad

Varje arbetsblad innehåller en egenskap med namnet Cells som faktiskt är en samling av GridCell-objekt där ett GridCell-objekt representerar en cell i Aspose.Cells.GridWeb. Det är möjligt att komma åt vilken cell som helst med hjälp av Aspose.Cells.GridWeb. Det finns två föredragna metoder, vilka båda diskuteras nedan.

Användning av cellnamn

Alla celler har ett unikt namn. Till exempel A1, A2, B1, B2 osv. Aspose.Cells.GridWeb tillåter utvecklare att komma åt vilken önskad cell som helst genom att använda cellnamnet. Ange helt enkelt cellnamnet (som en index) till Cells-samlingen av GridWorksheet.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// Accessing the worksheet of the Grid that is currently active
GridWorksheet sheet = GridWeb1.WorkSheets[GridWeb1.ActiveSheetIndex];
// Accessing "A1" cell of the worksheet
GridCell cell = sheet.Cells["A1"];
// Display cell name and value
Label1.Text += "Cell Value of " + cell.Name +" is " + cell.StringValue + "<br/>";

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ända rad- och kolumnindex

En cell kan också identifieras med dess plats i form av rad- och kolumnindex. Skicka bara en cells rad- och kolumnindex till Cells-samlingen av GridWorksheet. Detta tillvägagångssätt är snabbare än det ovanstående.

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.

   GridCells cells = GridWeb1.ActiveSheet.Cells;
   GridCell cell = cells.CheckCell(1, 1);
   if(cell!=null)
   {
    Console.WriteLine(cell.ToString());
   }
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// Accessing the worksheet of the Grid that is currently active
GridWorksheet sheet = GridWeb1.WorkSheets[GridWeb1.ActiveSheetIndex];
// Accessing "B1" cell of the worksheet using its row and column indices
GridCell cell = sheet.Cells[0, 1];
// Display cell name and value
Label1.Text += "Cell Value of " + cell.Name +" is " + cell.StringValue + "<br/>";

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.

   GridCells cells = GridWeb1.ActiveSheet.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

 GridCells cells = GridWeb1.ActiveSheet.Cells;
 for(int r=0;r< cells.MaxRow;r++)
 {
     for(int c=0;c< cells.MaxColumn; c++)
     {
         Console.WriteLine(cells[r,c].ToString());
     }
 }