Infoga en bild i en cell

Introduktion

Att anpassa en bild exakt till en enda cell är ett vanligt krav när man utformar kalkylblad som fungerar som visuella rapporter, produktkataloger, personalregister, dashboards eller inventarielistor. Istället för att sträcka ut en bild över många celler eller placera den löst på ett kalkylblad kanske du vill ha en ren, cellbunden bild som håller sig justerad med den cell som äger den. Aspose.Cells stödjer det här scenariot på två kompletterande sätt:

  • Metod 1 — Placera en flytande bild över en cell. Lägg till en Picture i kalkylbladet, ställ in dess placement till MoveAndSize, och justera dess ankarceller (upperLeftRow, upperLeftColumn, lowerRightRow, lowerRightColumn) så att bilden täcker exakt en cell.
  • Metod 2 — Bädda in en bild direkt i en cell. Tilldela bildbytes till cellens embeddedImage-egenskap. Bilden skalas automatiskt för att passa cellens visningsyta och följer med cellen. Resten av den här artikeln går igenom båda metoderna, förklarar relevanta API:er och visar hur man använder dem i kod.

Metod 1: Placera en bild över en cell

En flytande bild är ett Picture-objekt som finns på kalkylbladets ritlager. Även om den inte tillhör någon enskild cell är den förankrad till ett cellintervall. Bildens ankarceller — dess övre vänstra och nedre högra hörn — avgör dess visuella utsträckning på kalkylbladet. Som standard sträcker sig en nyligen tillagd bild över flera celler. För att få en flytande bild att täcka exakt en cell behöver du:

  1. Lägg till bilden med worksheet.pictures.add(row, column, stream), vilket förankrar den nya bilden till den givna cellen.
  2. Ställ in de fyra ankaregenskaperna så att bildens begränsningsrektangel sammanfaller med målcellen.
  3. Ställ in picture.placement till PlacementType.MoveAndSize så att bilden flyttas och storleksändras tillsammans med den underliggande cellen när användaren ändrar kolumnbredd eller radhöjd.

Förankra bilden till en enda cell

Bildens ankare definieras av fyra nollbaserade indexegenskaper:

  • picture.upperLeftRow — radindex för bildens övre kant.
  • picture.upperLeftColumn — kolumnindex för bildens vänstra kant.
  • picture.lowerRightRow — radindex för bildens nedre kant. För att bildens nedre kant ska hamna längst ner på rad r, ställ in detta till r + 1.
  • picture.lowerRightColumn — kolumnindex för bildens högra kant. För att bildens högra kant ska hamna till höger om kolumn c, ställ in detta till c + 1.

Relaterade artiklar