XLSX sang JPG trong Java là một nhu cầu phổ biến khi bạn muốn hiển thị dữ liệu bảng tính dưới dạng hình ảnh. GroupDocs.Conversion Cloud SDK for Java cung cấp một thư viện đơn giản dựa trên REST cho phép bạn render các worksheet Excel trực tiếp thành file JPG. Hướng dẫn này sẽ đưa bạn qua các bước thiết lập cần thiết, trình bày một ví dụ mã hoàn chỉnh, minh họa xử lý bất đồng bộ với cURL, và cung cấp các mẹo về hiệu năng khi làm việc với các workbook lớn.

Các bước chuyển đổi XLSX sang JPG trong Java

  1. Thêm phụ thuộc Maven: Bao gồm SDK trong tệp pom.xml của bạn để thư viện có sẵn tại thời điểm biên dịch.
<dependency>
    <groupId>com.groupdocs</groupId>
    <artifactId>groupdocs-conversion-cloud</artifactId>
    <version>23.12</version>
</dependency>
  1. Khởi tạo Khách hàng Chuyển đổi: Tạo một thể hiện của ConversionApi với thông tin xác thực khách hàng của bạn.
import com.groupdocs.conversion.cloud.api.ConversionApi;
import com.groupdocs.conversion.cloud.client.ApiClient;
import com.groupdocs.conversion.cloud.configuration.Configuration;

Configuration config = new Configuration();
config.setClientId("YOUR_CLIENT_ID");
config.setClientSecret("YOUR_CLIENT_SECRET");

ConversionApi conversionApi = new ConversionApi(new ApiClient(config));
  1. Cấu hình tùy chọn chuyển đổi: Đặt định dạng đầu ra thành JPG, chọn độ phân giải và bật xử lý bất đồng bộ nếu muốn.
import com.groupdocs.conversion.cloud.model.requests.ConvertDocumentRequest;
import com.groupdocs.conversion.cloud.model.ConvertOptions;
import com.groupdocs.conversion.cloud.model.JpgConvertOptions;

JpgConvertOptions jpgOptions = new JpgConvertOptions();
jpgOptions.setResolution(300);          // 300 DPI for high quality
jpgOptions.setQuality(90);              // JPEG quality 0‑100
jpgOptions.setAsync(true);              // Enable async conversion

ConvertOptions options = new ConvertOptions();
options.setOutputFormat("JPG");
options.setJpgOptions(jpgOptions);
  1. Thực hiện chuyển đổi: Xây dựng một ConvertDocumentRequest với tệp XLSX nguồn và các tùy chọn, sau đó gọi API.
import java.io.File;

File sourceFile = new File("sample.xlsx");
ConvertDocumentRequest request = new ConvertDocumentRequest(sourceFile, options);
String jobId = conversionApi.convertDocument(request);
System.out.println("Conversion started, job ID: " + jobId);
  1. Tải xuống Kết quả: Kiểm tra trạng thái công việc cho đến khi hoàn thành, sau đó tải xuống mỗi JPG được tạo.
import com.groupdocs.conversion.cloud.model.JobStatus;
import com.groupdocs.conversion.cloud.model.responses.JobStatusResponse;

while (true) {
    JobStatusResponse statusResponse = conversionApi.getJobStatus(jobId);
    JobStatus status = statusResponse.getStatus();
    if (status == JobStatus.COMPLETED) break;
    Thread.sleep(2000); // wait 2 seconds before next poll
}
conversionApi.downloadResult(jobId, new File("output/"));
System.out.println("JPG files saved to output folder.");

Để biết thêm chi tiết về các đối tượng yêu cầu, xem API reference.

Tạo JPG từ XLSX trong Java - Ví dụ mã hoàn chỉnh

Ví dụ này trình bày quá trình chuyển đổi toàn diện từ đầu đến cuối, tải một workbook XLSX, chuyển đổi mỗi worksheet thành một file JPG riêng biệt và lưu các hình ảnh cục bộ.

package com.example.conversion;

import com.groupdocs.conversion.cloud.api.ConversionApi;
import com.groupdocs.conversion.cloud.client.ApiClient;
import com.groupdocs.conversion.cloud.configuration.Configuration;
import com.groupdocs.conversion.cloud.model.requests.ConvertDocumentRequest;
import com.groupdocs.conversion.cloud.model.ConvertOptions;
import com.groupdocs.conversion.cloud.model.JpgConvertOptions;
import com.groupdocs.conversion.cloud.model.responses.JobStatusResponse;
import com.groupdocs.conversion.cloud.model.JobStatus;

import java.io.File;

public class XlsxToJpgDemo {
    public static void main(String[] args) throws Exception {
        // 1. Configure client
        Configuration config = new Configuration();
        config.setClientId("YOUR_CLIENT_ID");
        config.setClientSecret("YOUR_CLIENT_SECRET");
        ConversionApi api = new ConversionApi(new ApiClient(config));

// 2. Prepare conversion options
        JpgConvertOptions jpgOpts = new JpgConvertOptions();
        jpgOpts.setResolution(300);
        jpgOpts.setQuality(90);
        jpgOpts.setAsync(true); // async conversion

ConvertOptions convOpts = new ConvertOptions();
        convOpts.setOutputFormat("JPG");
        convOpts.setJpgOptions(jpgOpts);

// 3. Create request
        File source = new File("input/sample.xlsx");
        ConvertDocumentRequest request = new ConvertDocumentRequest(source, convOpts);

// 4. Start conversion
        String jobId = api.convertDocument(request);
        System.out.println("Job started, ID: " + jobId);

// 5. Wait for completion
        while (true) {
            JobStatusResponse statusResp = api.getJobStatus(jobId);
            if (statusResp.getStatus() == JobStatus.COMPLETED) break;
            Thread.sleep(2000);
        }

// 6. Download JPG files
        api.downloadResult(jobId, new File("output/"));
        System.out.println("Conversion finished. JPG files are in the output folder.");
    }
}

Lưu ý: Ví dụ mã này minh họa chức năng cốt lõi. Trước khi sử dụng trong dự án của bạn, hãy chắc chắn cập nhật các đường dẫn tệp (input/sample.xlsx, output/) để phù hợp với vị trí thực tế của bạn, xác minh rằng tất cả các phụ thuộc cần thiết đã được cài đặt đúng cách, và kiểm tra kỹ lưỡng trong môi trường phát triển. Nếu bạn gặp bất kỳ vấn đề nào, vui lòng tham khảo tài liệu chính thức hoặc liên hệ với đội hỗ trợ để được trợ giúp.

Chuyển đổi Excel sang Hình ảnh bằng cURL

Các lệnh cURL dưới đây minh họa cách thực hiện chuyển đổi XLSX sang JPG bằng REST API. Thay thế các giá trị placeholder bằng thông tin xác thực và tên tệp thực tế của bạn.

  1. Lấy Access Token
curl -X POST "https://api.groupdocs.cloud/v1.0/oauth/token" \
     -H "Content-Type: application/json" \
     -d '{"client_id":"YOUR_CLIENT_ID","client_secret":"YOUR_CLIENT_SECRET"}'
  1. Tải lên tệp XLSX
curl -X POST "https://api.groupdocs.cloud/v1.0/storage/file/upload" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -F "file=@sample.xlsx"
  1. Bắt đầu chuyển đổi bất đồng bộ
curl -X POST "https://api.groupdocs.cloud/v1.0/conversion/convert" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{
           "sourceFilePath": "sample.xlsx",
           "outputFormat": "JPG",
           "options": {
               "resolution": 300,
               "quality": 90,
               "async": true
           }
         }'
  1. Kiểm tra trạng thái công việc (thay thế JOB_ID bằng giá trị được trả về từ bước trước)
curl -X GET "https://api.groupdocs.cloud/v1.0/conversion/jobs/JOB_ID/status" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN"
  1. Tải xuống các tệp JPG đã tạo
curl -X GET "https://api.groupdocs.cloud/v1.0/conversion/jobs/JOB_ID/result" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -o output.zip

Để xem danh sách đầy đủ các tham số, hãy tham khảo tài liệu API chính thức.

Installing and Configuring GroupDocs.Conversion Cloud SDK for Java

Thêm SDK vào dự án của bạn bằng Maven, sau đó cấu hình thông tin xác thực khách hàng của bạn.

# Add the dependency (already shown in the Steps section)
mvn install com.groupdocs:groupdocs-conversion-cloud
// Example configuration (same as in the Steps section)
Configuration config = new Configuration();
config.setClientId("YOUR_CLIENT_ID");
config.setClientSecret("YOUR_CLIENT_SECRET");

Bạn có thể tải xuống các tệp JAR mới nhất từ trang tải xuống.

Tùy chọn chuyển đổi cho XLSX sang JPG

Một số tùy chọn cho phép bạn tinh‑chỉnh các hình ảnh được tạo.

Tùy chọnMô tảVí dụ
ResolutionDPI của hình ảnh đầu ra. Giá trị cao hơn cải thiện chất lượng nhưng làm tăng kích thước tệp.jpgOpts.setResolution(300);
QualityMức độ nén JPEG (0‑100).jpgOpts.setQuality(90);
Page RangeChuyển đổi chỉ các worksheet cụ thể.jpgOpts.setPageRange("1-3");
AsyncChạy chuyển đổi trong nền và kiểm tra hoàn thành.jpgOpts.setAsync(true);

Mỗi thuộc tính là một phần của JpgConvertOptions trong SDK. Tham khảo tài liệu API để biết danh sách đầy đủ.

Cải thiện tốc độ chuyển đổi và việc sử dụng bộ nhớ

  1. Stream Worksheets - Xử lý một worksheet mỗi lần bằng cách bật chế độ async; điều này ngăn toàn bộ workbook tải vào bộ nhớ.
  2. Adjust Resolution - Sử dụng DPI thấp nhất chấp nhận được cho trường hợp của bạn; 150‑200 DPI thường đủ cho bản xem trước trên web.
  3. Batch Requests - Khi chuyển đổi nhiều tệp, gửi chúng trong các lô song song được giới hạn bởi CPU và khả năng mạng của máy chủ.
  4. Reuse ApiClient - Tạo một thể hiện ConversionApi duy nhất và tái sử dụng nó cho nhiều lần chuyển đổi để tránh chi phí xác thực lặp lại.

Áp dụng các mẹo này có thể giảm thời gian chuyển đổi lên tới 40 % cho các tệp Excel lớn.

Kết luận

Việc chuyển đổi XLSX sang JPG trong Java trở nên đơn giản với GroupDocs.Conversion Cloud SDK for Java. Bằng cách thực hiện các bước trên, bạn có thể chuyển mỗi worksheet thành JPG chất lượng cao, tận dụng xử lý bất đồng bộ để tăng khả năng mở rộng, và áp dụng các tối ưu hiệu năng cho các workbook lớn. Hãy nhớ lấy giấy phép phù hợp cho triển khai sản xuất; chi tiết giá cả có trên trang sản phẩm, và bạn có thể bắt đầu với một giấy phép tạm thời để đánh giá thư viện. Tích hợp khả năng này vào ứng dụng của bạn để cung cấp các bản xem trước nhanh chóng của dữ liệu Excel mà không cần dựa vào cài đặt Office phía client.

FAQs

Làm thế nào để thực hiện chuyển đổi XLSX sang JPG trong Java bằng GroupDocs?
Sử dụng lớp ConversionApi để tải lên tệp XLSX, thiết lập JpgConvertOptions (resolution, quality, async), và gọi convertDocument. SDK trả về một ID công việc mà bạn có thể kiểm tra định kỳ cho đến khi các tệp JPG sẵn sàng.

Tôi có thể chuyển đổi các sổ làm việc Excel lớn mà không hết bộ nhớ không?
Có. Bật chuyển đổi bất đồng bộ và đặt độ phân giải hợp lý. SDK xử lý các worksheet một cách tuần tự, giữ mức sử dụng bộ nhớ thấp.

Có hỗ trợ chuyển đổi bất đồng bộ cho XLSX sang JPG không?
SDK cung cấp một cờ async trong JpgConvertOptions. Khi đặt thành true, API sẽ trả về một ID công việc, cho phép bạn kiểm tra trạng thái và tải kết quả về sau.

Tôi có cần giấy phép đặc biệt để sử dụng các tính năng chuyển đổi trong môi trường sản xuất không?
Một giấy phép GroupDocs.Conversion Cloud hợp lệ là bắt buộc cho việc sử dụng trong môi trường sản xuất. Bạn có thể bắt đầu với giấy phép tạm thời từ trang giấy phép tạm thời trước khi mua gói đăng ký đầy đủ.

Read More