Praca z wykresami
Praca z wykresami
Aspose.Cells FOSS dla Java zachowuje osadzone wykresy podczas ładowania i zapisywania skoroszytów XLSX. Możesz przeglądać istniejące wykresy, zapytać o ich typ i położenie oraz programowo dodawać nowe wykresy standardowego typu. Typy ChartEx, takie jak Waterfall, Treemap, Sunburst, Histogram, Box and Whisker, Funnel i Map, są zachowywane podczas wymiany, ale nie mogą być tworzone za pomocą API.
Przegląd
Wykresy w arkuszu kalkulacyjnym są zarządzane przez ChartCollection dostępny za pośrednictwem Worksheet.getCharts(). Każda instancja Chart udostępnia swoją nazwę, typ wykresu oraz pozycję kotwicy obejmującej dwie komórki. Nowy wykres jest wstawiany przy użyciu ChartCollection.add(type, dataRange, upperLeftRow, upperLeftColumn, lowerRightRow, lowerRightColumn), który zwraca indeks nowo utworzonego wykresu.
Enum ChartType określa wariant wykresu (słupkowy, liniowy, kołowy itp.). Metody pomocnicze ChartCollection.parseChartType(string) i ChartCollection.chartTypeToString(ChartType) konwertują pomiędzy enumem a jego reprezentacją tekstową w przypadkach serializacji.
Kluczowe klasy
| Klasa | Opis |
|---|---|
Chart | Reprezentuje osadzony wykres w arkuszu. Dostęp tylko do odczytu do nazwy, typu i pozycji kotwicy komórki. |
ChartCollection | Zbiór wszystkich wykresów w arkuszu. Obsługuje liczbę, dostęp indeksowy, dodawanie oraz pomocnicze funkcje konwersji typów wykresów. |
ChartType | Wyliczenie identyfikujące wariant wykresu (słupkowy, kolumnowy, liniowy, kołowy, punktowy itp.). |
ChartModel | Wewnętrzny model serializacji wykresu. Udostępnia surowe pola XML używane podczas ładowania/zapisu. |
Dostęp do wykresów w arkuszu kalkulacyjnym
Pobierz ChartCollection z dowolnego obiektu Worksheet za pośrednictwem Worksheet.getCharts(). Użyj ChartCollection.getCount(), aby określić, ile wykresów jest obecnych. Poszczególne wykresy są dostępne za pomocą indeksu zerowego poprzez ChartCollection.get(index).
Gdy posiadasz odwołanie Chart, możesz odczytać:
Chart.getName()— wewnętrzny ciąg nazwy wykresu.Chart.getChartType()— wartość wyliczeniowaChartType.Chart.getUpperLeftRow()/Chart.getUpperLeftColumn()— komórka kotwicy w lewym górnym rogu.Chart.getLowerRightRow()/Chart.getLowerRightColumn()— komórka kotwicy w prawym dolnym rogu.Chart.getExtentCx()/Chart.getExtentCy()— rozmiary wykresu w jednostkach EMU.
Dodawanie nowego wykresu
Użyj ChartCollection.add(type, dataRange, upperLeftRow, upperLeftColumn, lowerRightRow, lowerRightColumn), aby wstawić nowy wykres. Metoda zwraca całkowity indeks wykresu w kolekcji. Podaj wartość ChartType dla argumentu type oraz ciąg zakresu komórek (na przykład A1:B5) dla dataRange.
Uwaga: typy ChartEx-family (Waterfall, Treemap, Sunburst, Histogram, Box and Whisker, Funnel, Map) są zachowywane przy ładowaniu plików XLSX, ale nie mogą być tworzone programowo za pomocą tego API.
Podsumowanie API Reference
Chart
| Metoda | Typ zwracany | Opis |
|---|---|---|
getName() | String | Wewnętrzna nazwa wykresu. |
getChartType() | ChartType | Wartość wyliczeniowa wariantu wykresu. |
getUpperLeftRow() | int | Indeks wiersza lewego górnego kotwicy. |
getUpperLeftColumn() | int | Indeks kolumny lewego górnego kotwicy. |
getLowerRightRow() | int | Indeks wiersza prawego dolnego kotwicy. |
getLowerRightColumn() | int | Indeks kolumny dolnego prawego kotwicy. |
getExtentCx() | long | Szerokość wykresu w EMU. |
getExtentCy() | long | Wysokość wykresu w EMU. |
ChartCollection
| Metoda | Typ zwracany | Opis |
|---|---|---|
getCount() | int | Liczba wykresów na arkuszu. |
get(index) | Chart | Zwraca wykres o podanym indeksie zerowym. |
add(type, dataRange, ...) | int | Dodaje nowy wykres; zwraca jego indeks. |
parseChartType(string) | ChartType | Konwertuje nazwę w postaci łańcucha znaków na wartość wyliczeniową ChartType. |
chartTypeToString(type) | String | Konwertuje wartość wyliczeniową ChartType na jej nazwę w postaci łańcucha znaków. |
Ograniczenia
- Typy ChartEx (Waterfall, Treemap, Sunburst, Histogram, Box and Whisker, Funnel, Map) są przenoszone bez zmian, ale nie mogą być tworzone za pomocą API.
- Powiązania serii danych wykresu nie są modyfikowalne w tej wersji; wykres jest renderowany na podstawie oryginalnego zakresu danych podanego w czasie tworzenia.