Tạo các bản xem trước trực quan của dữ liệu bảng tính là một yêu cầu thường gặp khi xây dựng bảng điều khiển báo cáo hoặc tóm tắt email. Conholdate.Total for Java cung cấp một SDK mạnh mẽ giúp đơn giản hoá quá trình chuyển đổi Excel sang hình ảnh trong các ứng dụng Java. Trong hướng dẫn này, bạn sẽ thấy cách tải một sổ làm việc XLSX, cấu hình đầu ra PNG, và tạo các tệp hình ảnh cho toàn bộ các worksheet, biểu đồ, hoặc các phạm vi cụ thể. Khi kết thúc, bạn sẽ có một mẫu mã sẵn sàng chạy mà bạn có thể điều chỉnh cho các dự án của mình.
Yêu cầu của Convert Excel Files to Image đối với ứng dụng của bạn
Những nhà phát triển thường cần chuyển nội dung bảng tính thành hình ảnh tĩnh để xem trước trên web, báo cáo PDF hoặc hình thu nhỏ cho thiết bị di động. Yêu cầu thường bao gồm việc giữ nguyên định dạng ô, hiển thị các biểu đồ nhúng và tùy chọn giới hạn việc chuyển đổi chỉ trong một phạm vi duy nhất. Thực hiện các công việc này một cách thủ công bằng cách mở Excel, chụp ảnh màn hình và lưu lại không khả thi và có thể dẫn đến kết quả không nhất quán.
Các ràng buộc kỹ thuật cho một giải pháp đáng tin cậy bao gồm: hỗ trợ các tệp XLSX, khả năng bao gồm biểu đồ và công thức, độ phân giải hình ảnh có thể cấu hình, và xử lý hàng loạt nhiều bảng tính. Việc chuyển đổi phải chạy trên môi trường máy chủ hoặc máy để bàn mà không cần Microsoft Office.
Chọn Conholdate.Total for Java cho công việc
Conholdate.Total for Java cung cấp một API thống nhất bao phủ tất cả các khả năng cần thiết. ExcelLoadOptions cho phép bạn tải biểu đồ và công thức, trong khi ImageConvertOptions cung cấp kiểm soát chi tiết về định dạng, chất lượng và kích thước. SDK hoạt động trên bất kỳ môi trường Java nào, chỉ yêu cầu phụ thuộc Maven và xử lý các workbook lớn một cách hiệu quả.
Để biết chi tiết cách sử dụng API, xem tài liệu chính thức. Tham chiếu đầy đủ cho các lớp như Conversion, ExcelLoadOptions và ImageConvertOptions có sẵn trong tài liệu tham khảo API. Bạn có thể tải xuống thư viện mới nhất từ trang phát hành.
Triển khai chuyển đổi Excel sang hình ảnh trong Java
Quá trình chuyển đổi có thể được chia thành một vài bước rõ ràng. Các phần sau sẽ hướng dẫn bạn qua từng phần, với các đoạn mã ngắn được lấy trực tiếp từ ví dụ đầy đủ.
Cài đặt Conholdate.Total for Java qua Maven
Thêm kho Maven của Conholdate và phụ thuộc SDK vào pom.xml của bạn:
<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>
Tải tệp Excel với hỗ trợ biểu đồ và công thức
Tạo một thể hiện ExcelLoadOptions, bật tải biểu đồ và công thức, và khởi tạo đối tượng Conversion bằng một luồng tệp:
ExcelLoadOptions loadOptions = new ExcelLoadOptions();
loadOptions.setLoadCharts(true);
loadOptions.setLoadFormulas(true);
Conversion conversion = new Conversion(new FileInputStream("input.xlsx"), loadOptions);
Cấu hình các tùy chọn xuất hình ảnh cho PNG
Đặt định dạng hình ảnh, chất lượng và kích thước mong muốn. Chiều rộng được cố định trong khi chiều cao giữ tỷ lệ khung hình:
ImageConvertOptions imgOptions = new ImageConvertOptions();
imgOptions.setFormat(ImageConvertOptions.ImageFormat.PNG);
imgOptions.setQuality(90);
imgOptions.setWidth(1200);
imgOptions.setHeight(0); // preserve aspect ratio
Chuyển đổi mỗi bảng tính hoặc phạm vi thành hình ảnh PNG
Lặp lại các trang (sheet) của workbook và chuyển đổi từng trang một. Bạn cũng có thể nhắm mục tiêu một phạm vi cụ thể bằng cách điều chỉnh pageNumber hoặc sử dụng các tùy chọn tải bổ sung:
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);
}
Xác minh đầu ra và xử lý ngoại lệ
Đặt logic chuyển đổi trong một khối try‑catch và đảm bảo thư mục đầu ra tồn tại trước khi bắt đầu:
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();
}
Các bước ở trên minh họa cách chuyển đổi Excel sang hình ảnh bằng cách sử dụng Conholdate.Total SDK đồng thời cung cấp cho bạn tính linh hoạt để xử lý biểu đồ, phạm vi và toàn bộ bảng tính.
Ví dụ mã hoàn chỉnh: Chuyển đổi Excel sang hình ảnh với hỗ trợ toàn bộ sheet
Đoạn mã sau đây hiển thị triển khai đầy đủ, sẵn sàng chạy được mô tả trong các bước ở trên.
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();
}
}
}
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.xlsx,output_images) để phù hợp với vị trí tệp 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.
Kết luận
Việc chuyển đổi Excel sang hình ảnh trong Java trở nên đơn giản khi bạn sử dụng Conholdate.Total for Java. SDK xử lý việc render biểu đồ, đánh giá công thức và xuất PNG chất lượng cao với ít mã. Bằng cách làm theo hướng dẫn từng bước, bạn có thể tích hợp khả năng này vào công cụ báo cáo, trình tạo email hoặc bất kỳ ứng dụng nào cần biểu diễn bảng tính dưới dạng hình ảnh. Hãy nhớ rằng triển khai trong môi trường sản xuất yêu cầu giấy phép thương mại; bạn có thể khám phá các tùy chọn giá trên trang Conholdate.Total pricing và lấy giấy phép tạm thời từ temporary license page trong quá trình đánh giá.
Câu hỏi thường gặp
Làm thế nào để tôi chuyển đổi Excel sang hình ảnh trong Java?
Sử dụng lớpConversiontừ Conholdate.Total for Java, cấu hìnhExcelLoadOptionsvàImageConvertOptions, sau đó gọiconvertcho mỗi worksheet.Tôi có thể chuyển đổi biểu đồ Excel sang hình ảnh không?
Có. Bật tải biểu đồ bằngloadOptions.setLoadCharts(true)và chỉ định số trang của biểu đồ khi thiết lậpimgOptions.setPageNumber.Có thể chuyển đổi chỉ một phạm vi ô cụ thể không?
Bạn có thể xác định phạm vi trong tùy chọn tải hoặc chọn số trang phù hợp tương ứng với phạm vi mong muốn trước khi chuyển đổi.Cần giấy phép gì cho việc sử dụng trong môi trường sản xuất?
Cần một giấy phép thương mại. Xem chi phí trên trang Conholdate.Total pricing và lấy giấy phép tạm thời từ trang giấy phép tạm thời.
