Generowanie wizualnych podglądów danych arkuszy kalkulacyjnych jest częstym wymogiem przy tworzeniu pulpitów raportowych lub podsumowań e‑mailowych. Conholdate.Total for Java zapewnia solidny SDK, który upraszcza proces konwertowania Excela na obraz w aplikacjach Java. W tym przewodniku zobaczysz, jak załadować XLSX skoroszyt, skonfigurować wyjście PNG i wygenerować pliki obrazów dla całych arkuszy, wykresów lub określonych zakresów. Po zakończeniu będziesz mieć gotowy do uruchomienia przykład kodu, który możesz dostosować do własnych projektów.

Czego wymaga konwersja plików Excel na obrazy w Twojej aplikacji

Programiści często muszą przekształcać zawartość arkuszy kalkulacyjnych w statyczne obrazy do podglądów w sieci, raportów w formacie PDF lub miniatur mobilnych. Wymaganie zazwyczaj obejmuje zachowanie formatowania komórek, renderowanie osadzonych wykresów oraz opcjonalne ograniczenie konwersji do jednego zakresu. Ręczne wykonywanie tych zadań poprzez otwieranie Excela, robienie zrzutów ekranu i zapisywanie ich nie skaluje się i może prowadzić do niespójnych wyników.

Techniczne ograniczenia dla niezawodnego rozwiązania to: obsługa plików XLSX, możliwość wstawiania wykresów i formuł, konfigurowalna rozdzielczość obrazu oraz przetwarzanie wsadowe wielu arkuszy. Konwersja musi działać na serwerze lub w środowisku desktopowym bez wymogu posiadania Microsoft Office.

Wybór Conholdate.Total for Java do zadania

Conholdate.Total for Java oferuje jednolite API, które obejmuje wszystkie potrzebne możliwości. Jego ExcelLoadOptions pozwalają ładować wykresy i formuły, natomiast ImageConvertOptions zapewniają precyzyjną kontrolę nad formatem, jakością i wymiarami. SDK działa na dowolnym środowisku Java, wymaga tylko zależności Maven i efektywnie obsługuje duże skoroszyty.

Po szczegółowym użyciu API zobacz oficjalną dokumentację. Pełna referencja dla klas takich jak Conversion, ExcelLoadOptions i ImageConvertOptions jest dostępna w referencji API. Najnowszą bibliotekę możesz pobrać ze strony wydania.

Implementacja konwersji Excel na obraz w Javie

Proces konwersji można podzielić na kilka wyraźnych kroków. Poniższe sekcje przeprowadzą Cię przez każdy element, z krótkimi fragmentami kodu pobranymi bezpośrednio z pełnego przykładu.

Zainstaluj Conholdate.Total dla Javy przy użyciu Maven

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>

Załaduj plik Excel z obsługą wykresów i formuł

Utwórz instancję ExcelLoadOptions, włącz ładowanie wykresów i formuł oraz zainicjalizuj obiekt Conversion przy użyciu strumienia pliku:

ExcelLoadOptions loadOptions = new ExcelLoadOptions();
loadOptions.setLoadCharts(true);
loadOptions.setLoadFormulas(true);

Conversion conversion = new Conversion(new FileInputStream("input.xlsx"), loadOptions);

Skonfiguruj opcje wyjścia obrazu dla PNG

Ustaw żądany format obrazu, jakość i wymiary. Szerokość jest stała, podczas gdy wysokość zachowuje proporcje:

ImageConvertOptions imgOptions = new ImageConvertOptions();
imgOptions.setFormat(ImageConvertOptions.ImageFormat.PNG);
imgOptions.setQuality(90);
imgOptions.setWidth(1200);
imgOptions.setHeight(0); // preserve aspect ratio

Konwertuj każdy arkusz lub zakres na obrazy PNG

Iteruj po stronach skoroszytu (arkuszach) i konwertuj każdą z nich. Możesz także wybrać konkretny zakres, dostosowując pageNumber lub używając dodatkowych opcji ładowania:

int pageCount = conversion.getPageCount();
for (int i = 1; i <= pageCount; i++) {
    imgOptions.setPageNumber(i);
    String outputPath = "output_images/sheet_" + i + ".png";
    conversion.convert(outputPath, imgOptions);
}

Sprawdź wynik i obsłuż wyjątki

Umieść logikę konwersji w bloku try‑catch i upewnij się, że katalog wyjściowy istnieje przed rozpoczęciem:

try {
    Files.createDirectories(Paths.get("output_images"));
    // conversion code here
    System.out.println("Excel to image conversion completed successfully.");
} catch (Exception ex) {
    System.err.println("Conversion failed: " + ex.getMessage());
    ex.printStackTrace();
}

Powyższe kroki pokazują, jak przekształcić Excel na obraz przy użyciu Conholdate.Total SDK, zapewniając jednocześnie elastyczność w obsłudze wykresów, zakresów i pełnych arkuszy.

Pełny przykład kodu: konwersja Excela na obraz z obsługą całego arkusza

Poniższy kod przedstawia kompletną, gotową do uruchomienia implementację opisaną w powyższych krokach.

import java.io.FileInputStream;
import java.nio.file.Files;
import java.nio.file.Paths;

import com.groupdocs.conversion.Conversion;
import com.groupdocs.conversion.options.load.ExcelLoadOptions;
import com.groupdocs.conversion.options.convert.ImageConvertOptions;
import com.groupdocs.conversion.options.convert.ImageConvertOptions.ImageFormat;

public class ExcelToImageConverter {
    public static void main(String[] args) {
        String inputFile = "input.xlsx";
        String outputFolder = "output_images";

try {
            // Create output directory if it does not exist
            Files.createDirectories(Paths.get(outputFolder));

// Load options: include charts and formulas during conversion
            ExcelLoadOptions loadOptions = new ExcelLoadOptions();
            loadOptions.setLoadCharts(true);
            loadOptions.setLoadFormulas(true);

// Initialize conversion with the Excel file and load options
            try (Conversion conversion = new Conversion(new FileInputStream(inputFile), loadOptions)) {

// Determine how many pages (sheets) the workbook has
                int pageCount = conversion.getPageCount();

// Configure image output options
                ImageConvertOptions imgOptions = new ImageConvertOptions();
                imgOptions.setFormat(ImageFormat.PNG);   // Output format
                imgOptions.setQuality(90);               // Quality (relevant for JPEG)
                imgOptions.setWidth(1200);               // Desired width, height will keep aspect ratio
                imgOptions.setHeight(0);                 // 0 means preserve original aspect ratio

// Convert each sheet to a separate image file
                for (int i = 1; i <= pageCount; i++) {
                    imgOptions.setPageNumber(i);
                    String outputPath = outputFolder + "/sheet_" + i + ".png";
                    conversion.convert(outputPath, imgOptions);
                }
            }

System.out.println("Excel to image conversion completed successfully.");
        } catch (Exception ex) {
            System.err.println("Conversion failed: " + ex.getMessage());
            ex.printStackTrace();
        }
    }
}

Uwaga: Ten przykład kodu demonstruje podstawową funkcjonalność. Przed użyciem go w swoim projekcie upewnij się, że zaktualizowałeś ścieżki plików (input.xlsx, output_images), aby odpowiadały rzeczywistym lokalizacjom, sprawdź, czy wszystkie wymagane zależności są prawidłowo 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.

Wnioski

Konwertowanie Excela na obraz w Javie staje się proste, gdy wykorzystujesz Conholdate.Total for Java. SDK obsługuje renderowanie wykresów, ocenę formuł oraz generowanie wysokiej jakości plików PNG przy minimalnej ilości kodu. Postępując zgodnie z przewodnikiem krok po kroku, możesz zintegrować tę funkcję z narzędziami raportującymi, generatorami e‑maili lub dowolną aplikacją, która potrzebuje wizualnych reprezentacji arkuszy kalkulacyjnych. Pamiętaj, że wdrożenia produkcyjne wymagają licencji komercyjnej; możesz zapoznać się z opcjami cenowymi na stronie Cennik Conholdate.Total oraz uzyskać tymczasową licencję z strony tymczasowej licencji podczas oceny.

Najczęściej zadawane pytania

  • Jak mogę przekonwertować Excel na obraz w Javie?
    Użyj klasy Conversion z Conholdate.Total for Java, skonfiguruj ExcelLoadOptions i ImageConvertOptions, a następnie wywołaj convert dla każdego arkusza.

  • Czy mogę przekonwertować wykres Excel na obraz?
    Tak. Włącz ładowanie wykresów za pomocą loadOptions.setLoadCharts(true) i określ numer strony wykresu przy ustawianiu imgOptions.setPageNumber.

  • Czy można konwertować tylko określony zakres komórek?
    Możesz zdefiniować zakres w opcjach ładowania lub wybrać odpowiedni numer strony, który odpowiada żądanemu zakresowi przed konwersją.

  • Jakie licencjonowanie jest wymagane do użytku produkcyjnego?
    Wymagana jest licencja komercyjna. Przejrzyj koszty na stronie cennik Conholdate.Total i uzyskaj tymczasową licencję ze strony tymczasowej licencji.

Czytaj więcej