Werken met grafieken
Werken met grafieken
Aspose.Cells FOSS for Java behoudt ingesloten grafieken bij het laden en opslaan van XLSX-werkboeken. U kunt bestaande grafieken inspecteren, hun type en positie opvragen, en programmeermatig nieuwe standaardtype-grafieken toevoegen. ChartEx typen zoals Waterfall, Treemap, Sunburst, Histogram, Box and Whisker, Funnel en Map worden behouden bij een round-trip, maar kunnen niet worden aangemaakt via de API.
Overzicht
Grafieken in een werkblad worden beheerd via de ChartCollection die toegankelijk is via Worksheet.getCharts(). Elke Chart-instantie geeft zijn naam, grafiektype en de twee-cellen-ankerpositie weer. Een nieuwe grafiek wordt ingevoegd met ChartCollection.add(type, dataRange, upperLeftRow, upperLeftColumn, lowerRightRow, lowerRightColumn), die de index van de nieuw aangemaakte grafiek retourneert.
De ChartType-enum identificeert de grafiekvariant (staaf, lijn, taart, enz.). Helper-methoden ChartCollection.parseChartType(string) en ChartCollection.chartTypeToString(ChartType) converteren tussen de enum en zijn tekenreeks-representatie voor serialisatie-toepassingen.
Belangrijkste Klassen
| Klasse | Beschrijving |
|---|---|
Chart | Stelt een ingesloten diagram in een werkblad voor. Alleen-lezen toegang tot naam, type en positie van de celankerpunt. |
ChartCollection | Collectie van alle diagrammen op een werkblad. Ondersteunt tellen, indextoegang, toevoegen en hulpprogramma’s voor conversie van diagramtype. |
ChartType | Enum die de diagramvariant identificeert (staaf, kolom, lijn, taart, spreiding, enz.). |
ChartModel | Intern model voor serialisatie van een diagram. Toont ruwe XML-velden die tijdens laden/opslag worden gebruikt. |
Toegang tot grafieken op een werkblad
Haal de ChartCollection op uit elk Worksheet-object via Worksheet.getCharts(). Gebruik ChartCollection.getCount() om te bepalen hoeveel grafieken er aanwezig zijn. Individuele grafieken worden benaderd via een nul-gebaseerde index met ChartCollection.get(index).
Zodra je een Chart referentie bezit, kun je lezen:
Chart.getName()— de interne naamstring van de grafiek.Chart.getChartType()— deChartTypeenum-waarde.Chart.getUpperLeftRow()/Chart.getUpperLeftColumn()— de linkerbovenhoek-ankercel.Chart.getLowerRightRow()/Chart.getLowerRightColumn()— de rechteronderhoek-ankercel.Chart.getExtentCx()/Chart.getExtentCy()— de afmetingen van de grafiek in EMU’s.
Een nieuwe grafiek toevoegen
Gebruik ChartCollection.add(type, dataRange, upperLeftRow, upperLeftColumn, lowerRightRow, lowerRightColumn) om een nieuwe grafiek in te voegen. De methode retourneert de gehele index van de grafiek binnen de collectie. Geef een ChartType waarde op voor het type argument en een celbereik-string (bijvoorbeeld A1:B5) voor dataRange.
Opmerking: ChartEx-familietypen (Waterfall, Treemap, Sunburst, Histogram, Box and Whisker, Funnel, Map) worden behouden bij het laden van XLSX-bestanden, maar kunnen niet programmatisch worden aangemaakt via deze API.
API Reference Samenvatting
Chart
| Methode | Retourtype | Beschrijving |
|---|---|---|
getName() | String | Interne naam van de chart. |
getChartType() | ChartType | De chartvariant enum-waarde. |
getUpperLeftRow() | int | Rij-index van het linkerboven-anker. |
getUpperLeftColumn() | int | Kolom-index van het linkerboven-anker. |
getLowerRightRow() | int | Rij-index van het rechtsonder-anker. |
getLowerRightColumn() | int | Kolomindex van het anker rechtsonder. |
getExtentCx() | long | Grafiekbreedte in EMU’s. |
getExtentCy() | long | Grafiekhoogte in EMU’s. |
ChartCollection
| Methode | Retourtype | Beschrijving |
|---|---|---|
getCount() | int | Aantal grafieken op het werkblad. |
get(index) | Chart | Retourneert de grafiek op de opgegeven nulgebaseerde index. |
add(type, dataRange, ...) | int | Voegt een nieuwe grafiek toe; retourneert de index. |
parseChartType(string) | ChartType | Converteert een tekenreeksnaam naar een ChartType enum-waarde. |
chartTypeToString(type) | String | Converteert een ChartType enum-waarde naar de tekenreeksnaam. |
Beperkingen
- ChartEx-typen (Waterfall, Treemap, Sunburst, Histogram, Box and Whisker, Funnel, Map) worden letterlijk round-tripped, maar kunnen niet worden aangemaakt via de API.
- De koppelingen van grafiekgegevensreeksen zijn in deze release niet aanpasbaar; de grafiek wordt gerenderd op basis van het oorspronkelijke gegevensbereik dat bij het aanmaken is opgegeven.