Wstawianie danych wizualnych bezpośrednio do plików Word może przekształcić statyczne raporty w atrakcyjne prezentacje. Conholdate.Total for Java zapewnia solidny SDK, który upraszcza tworzenie wykresów i ich wstawianie do dokumentów DOCX. W tym przewodniku przeprowadzimy Cię przez kompletny, kompilowalny przykład, który pokazuje, jak tworzyć wykresy w dokumentach Word przy użyciu Javy, skonfigurować wykres i zapisać wynik. Po zakończeniu będziesz mógł automatyzować generowanie dokumentów z dynamicznymi wykresami w dowolnym scenariuszu raportowania biznesowego.

Pełny działający przykład osadzania wykresów w dokumentach Word przy użyciu Javy

Ten przykład demonstruje, jak zbudować wykres słupkowy z pięcioma seriami danych i wstawić go do dokumentu Word.

import com.aspose.words.Document;
import com.aspose.words.DocumentBuilder;
import com.aspose.words.Shape;
import com.aspose.words.ChartType;
import com.aspose.words.Chart;
import com.aspose.words.ChartSeriesCollection;

public class CreateChartInWord {
    public static void main(String[] args) {
        // Create a document
        Document doc = new Document();
        DocumentBuilder builder = new DocumentBuilder(doc);

// Add chart with default data. You can specify different chart types and sizes.
        Shape shape = builder.insertChart(ChartType.COLUMN, 432, 252);

// Chart property of Shape contains all chart related options.
        Chart chart = shape.getChart();

// Get chart series collection.
        ChartSeriesCollection seriesColl = chart.getSeries();
        // Check series count.
        System.out.println(seriesColl.getCount());

// Delete default generated series.
        seriesColl.clear();

// Create category names array, in this example we have two categories.
        String[] categories = new String[] { "AW Category 1", "AW Category 2" };

// Adding new series. Please note, data arrays must not be empty and arrays must be the same size.
        seriesColl.add("AW Series 1", categories, new double[] { 1, 2 });
        seriesColl.add("AW Series 2", categories, new double[] { 3, 4 });
        seriesColl.add("AW Series 3", categories, new double[] { 5, 6 });
        seriesColl.add("AW Series 4", categories, new double[] { 7, 8 });
        seriesColl.add("AW Series 5", categories, new double[] { 9, 10 });

// Save the document
        doc.save("ColumnsChart.docx");
    }
}

Uwaga: Ten przykład kodu demonstruje podstawową funkcjonalność. Przed użyciem w swoim projekcie upewnij się, że ścieżka wyjściowa (ColumnsChart.docx) wskazuje na katalog, do którego można zapisywać, sprawdź, czy wszystkie wymagane zależności są poprawnie zainstalowane, oraz dokładnie przetestuj w środowisku programistycznym. Jeśli napotkasz jakiekolwiek problemy, odwołaj się do oficjalnej dokumentacji lub skontaktuj się z zespołem wsparcia w celu uzyskania pomocy.

Jak działa tworzenie wykresów w dokumentach Word przy użyciu Javy

Proces można podzielić na pięć wyraźnych kroków:

  1. Utwórz dokument i DocumentBuilder - Klasa Document reprezentuje plik Word w pamięci, a DocumentBuilder zapewnia płynne API do wstawiania treści, w tym wykresów.

    Document doc = new Document();
    DocumentBuilder builder = new DocumentBuilder(doc);
    
  2. Wstaw kształt wykresu - insertChart przyjmuje ChartType (np. COLUMN) wraz z szerokością i wysokością w punktach i zwraca Shape, który hostuje wykres na stronie.

    Shape shape = builder.insertChart(ChartType.COLUMN, 432, 252);
    
  3. Uzyskaj dostęp do obiektu Chart - Właściwość Chart obiektu Shape udostępnia wszystkie opcje związane z wykresem, w tym jego kolekcję serii.

    Chart chart = shape.getChart();
    ChartSeriesCollection seriesColl = chart.getSeries();
    System.out.println(seriesColl.getCount());
    

    Zobacz referencję API po pełne szczegóły dotyczące Chart, ChartSeriesCollection i powiązanych wyliczeń.

  4. Wyczyść domyślne serie i dodaj własne - Nowo wstawiony wykres już zawiera serie zastępcze, więc clear() usuwa je przed dodaniem kategorii i danych za pomocą add(). Tablice kategorii i wartości przekazywane do tego samego wywołania add() muszą mieć taką samą długość.

    seriesColl.clear();
    

String[] categories = new String[] { “AW Category 1”, “AW Category 2” };

seriesColl.add(“AW Series 1”, categories, new double[] { 1, 2 }); seriesColl.add(“AW Series 2”, categories, new double[] { 3, 4 });

<!--[CODE_SNIPPET_END]-->

5. **Zapisz dokument** - Na koniec, `doc.save()` zapisuje plik DOCX na dysku.
<!--[CODE_SNIPPET_START]-->
```java
doc.save("ColumnsChart.docx");

Zrozumienie każdego z tych kroków ułatwia dostosowanie przykładu do różnych typów wykresów, źródeł danych lub szablonów dokumentów.

Przygotowanie środowiska

Dodaj repozytorium Maven Conholdate oraz zależność SDK do swojego pom.xml:

<repositories>
    <repository>
        <id>conholdate-repo</id>
        <name>Conholdate Maven Repository</name>
        <url>https://repository.conholdate.com/repo/</url>
    </repository>
</repositories>

<dependency>
    <groupId>com.conholdate</groupId>
    <artifactId>conholdate-total</artifactId>
    <version>24.9</version>
    <type>pom</type>
</dependency>

Pobierz najnowszy pakiet SDK ze strony pobierania. Biblioteka wymaga Java 8 lub nowszej i działa na dowolnej standardowej maszynie JVM. Nie są potrzebne dodatkowe komponenty serwera.

Dostrajanie generowania wykresów

Możesz dostosować kilka właściwości, aby dopasować je do swojego stylu wizualnego:

  • Typ wykresu - Zmien ChartType.COLUMN na ChartType.BAR, ChartType.LINE, ChartType.PIE, ChartType.SCATTER oraz inne obsługiwane typy.
Shape shape = builder.insertChart(ChartType.BAR, 432, 252);
  • Rozmiar wykresu - Drugi i trzeci argument funkcji insertChart kontrolują szerokość i wysokość kształtu wykresu, wyrażone w punktach.

    Shape shape = builder.insertChart(ChartType.COLUMN, 500, 300);
    
  • Kategorie (etykiety osi) - Utwórz String[] nazw kategorii i użyj go ponownie we wszystkich seriach, które mają te same kategorie.

    String[] categories = new String[] { "Jan", "Feb", "Mar" };
    
  • Data Series - Wywołaj seriesColl.add() z nazwą serii, tablicą kategorii oraz double[] wartości, aby dodać tyle serii porównawczych, ile potrzebujesz.

    seriesColl.add("2021", categories, new double[] { 200, 220, 250 });
    

Te opcje pozwalają dostosować wykres do dowolnych wymagań raportowania, jednocześnie utrzymując kod zwięzły.

Wstawianie wykresu punktowego w dokumencie Word przy użyciu języka Java

Wykresy punktowe (scatter) przedstawiają pary numerycznych wartości X i Y zamiast kategorii, co czyni je przydatnymi do wizualizacji korelacji lub rozkładów. ChartSeriesCollection udostępnia przeciążenie metody add() specjalnie w tym celu: zamiast tablicy kategorii przekazujesz dwie tablice double[], jedną dla wartości X i jedną dla wartości Y.

import com.aspose.words.Document;
import com.aspose.words.DocumentBuilder;
import com.aspose.words.Shape;
import com.aspose.words.ChartType;
import com.aspose.words.Chart;

public class InsertScatterChart {
    public static void main(String[] args) {
        // Create a new document
        Document doc = new Document();
        DocumentBuilder builder = new DocumentBuilder(doc);

// Insert Scatter chart.
        Shape shape = builder.insertChart(ChartType.SCATTER, 432, 252);
        Chart chart = shape.getChart();

// Use this overload to add series to any type of Scatter charts.
        chart.getSeries().add("AW Series 1", new double[] { 0.7, 1.8, 2.6 }, new double[] { 2.7, 3.2, 0.8 });

// Save the document
        doc.save("ScatterChart.docx");
    }
}

Ogólny przepływ odzwierciedla przykład wykresu kolumnowego: utwórz Document i DocumentBuilder, wstaw kształt wykresu z ChartType.SCATTER, pobierz Chart z kształtu i dodaj jedną lub więcej serii. Ponieważ wykresy punktowe rysują pary współrzędnych X/Y, nie ma osobnej tablicy kategorii — każdy punkt jest definiowany przez pasujące wpisy w tablicach wartości X i Y. Zapisz przy użyciu doc.save() po dodaniu wszystkich serii.

Podsumowanie

Wstawianie danych wizualnych bezpośrednio do plików DOCX to potężny sposób na ulepszenie automatycznych raportów. Dzięki Conholdate.Total for Java możesz tworzyć wykresy w dokumentach Word przy użyciu Javy w zaledwie kilku linijkach kodu — w tym wykresy kolumnowe, słupkowe, liniowe, kołowe i punktowe — dostosowywać kategorie i serie oraz generować profesjonalnie wyglądające dokumenty po stronie serwera. Pamiętaj, aby uzyskać odpowiednią licencję do użytku produkcyjnego; tymczasowa licencja jest dostępna na stronie tymczasowej licencji, a pełne informacje o cenach można przeglądać na stronie cenowej. Zacznij integrować generowanie wykresów już dziś i zapewnij swoim użytkownikom dokumenty oparte na danych, które wyróżniają się.

FAQ

  • Jak mogę tworzyć wykresy w dokumentach Word przy użyciu Javy z Conholdate.Total? Wywołaj insertChart na DocumentBuilder z żądanym ChartType, pobierz Chart z zwróconego Shape, wyczyść domyślną serię i dodaj własne kategorie oraz dane przy użyciu seriesColl.add(), a następnie zapisz dokument. Pełny kod jest pokazany w powyższym przykładzie.

  • Jakie typy wykresów są obsługiwane? SDK obsługuje wykresy kolumnowe, słupkowe, liniowe, kołowe, punktowe oraz wiele innych standardowych typów wykresów za pośrednictwem wyliczenia ChartType. Zmień wartość wyliczenia przekazywaną do insertChart, aby przełączyć typy.

  • Jak wykres punktowy różni się od wykresu kolumnowego lub słupkowego? Wykres punktowy przedstawia pary numerycznych wartości X i Y zamiast nazwanych kategorii, więc używasz przeciążenia add(name, xValues, yValues) kolekcji ChartSeriesCollection zamiast przekazywania tablicy kategorii.

  • Czy muszę ustawić licencję dla generowania wykresów? Tak. Tymczasową licencję można uzyskać ze strony tymczasowej licencji. Dla długoterminowych projektów zakup pełną licencję poprzez stronę cenową.

  • Czy SDK jest kompatybilny z budowami Maven i Gradle? Zdecydowanie tak. Dodaj repozytorium Maven Conholdate oraz zależność conholdate-total do swojego pliku budowania, jak pokazano w sekcji Setup, a biblioteka działa zarówno z Mavenem, jak i Gradle.

Czytaj dalej