تولید پیش‌نمایش‌های بصری از داده‌های صفحه‌گسترده یک نیاز متداول هنگام ساخت داشبوردهای گزارش‌گیری یا خلاصه‌های ایمیلی است. Conholdate.Total for Java یک SDK قدرتمند فراهم می‌کند که فرآیند تبدیل Excel به تصویر را در برنامه‌های Java ساده می‌سازد. در این راهنما خواهید دید چگونه یک کتاب‌کار XLSX را بارگذاری کنید، خروجی PNG را پیکربندی کنید، و فایل‌های تصویری برای کل ورق‌های کاری، نمودارها یا بازه‌های خاص تولید کنید. در پایان، یک نمونه کد آماده‑به‑اجرا خواهید داشت که می‌توانید آن را برای پروژه‌های خود تطبیق دهید.

چه نیازهایی برای تبدیل فایل‌های Excel به تصویر از برنامه شما می‌طلبد

توسعه‌دهندگان اغلب نیاز دارند محتویات صفحه‌گسترده را به تصاویر ثابت برای پیش‌نمایش‌های وب، گزارش‌های PDF یا تصویرهای کوچک موبایل تبدیل کنند. این نیاز معمولاً شامل حفظ قالب‌بندی سلول، رندر نمودارهای توکار و به‌صورت اختیاری محدود کردن تبدیل به یک بازهٔ واحد است. انجام این کارها به‌صورت دستی با باز کردن اکسل، گرفتن اسکرین‌شات و ذخیره‌سازی آن‌ها، مقیاس‌پذیر نیست و می‌تواند به نتایج ناسازگار منجر شود.

محدودیت‌های فنی برای یک راه‌حل قابل اعتماد عبارتند از: پشتیبانی از فایل‌های XLSX، قابلیت گنجاندن نمودارها و فرمول‌ها، تنظیم‌پذیری وضوح تصویر، و پردازش دسته‌ای چندین برگه کاری. تبدیل باید بر روی سرور یا محیط دسکتاپ اجرا شود بدون نیاز به مایکروسافت آفیس.

انتخاب Conholdate.Total for Java برای کار

Conholdate.Total for Java یک API یکپارچه ارائه می‌دهد که تمام قابلیت‌های مورد نیاز را پوشش می‌دهد. ExcelLoadOptions به شما امکان می‌دهد نمودارها و فرمول‌ها را بارگذاری کنید، در حالی که ImageConvertOptions کنترل دقیق بر فرمت، کیفیت و ابعاد را فراهم می‌کند. SDK بر روی هر محیط اجرایی Java کار می‌کند، فقط به وابستگی Maven نیاز دارد و کتاب‌کارهای بزرگ را به‌صورت کارآمد مدیریت می‌کند.

برای استفاده دقیق از API، به مستندات رسمی مراجعه کنید. مرجع کامل برای کلاس‌هایی مانند Conversion، ExcelLoadOptions و ImageConvertOptions در مرجع API موجود است. می‌توانید آخرین کتابخانه را از صفحه انتشار دانلود کنید.

پیاده‌سازی تبدیل Excel به تصویر در Java

فرآیند تبدیل می‌تواند به چند گام واضح تقسیم شود. بخش‌های زیر شما را در هر قسمت راهنمایی می‌کنند، با استخراج‌های کوتاه کد که مستقیماً از مثال کامل گرفته شده‌اند.

نصب Conholdate.Total for Java via Maven

مخزن Maven Conholdate و وابستگی SDK را به فایل 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>

بارگیری فایل اکسل با پشتیبانی نمودار و فرمول

یک نمونه از ExcelLoadOptions ایجاد کنید، بارگذاری نمودار و فرمول را فعال کنید و شیء Conversion را با یک جریان فایل مقداردهی اولیه کنید:

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

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

پیکربندی گزینه‌های خروجی تصویر برای PNG

فرمت تصویر، کیفیت و ابعاد مورد نظر را تنظیم کنید. عرض ثابت است در حالی که ارتفاع نسبت تصویر را حفظ می‌کند:

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

تبدیل هر کاربرگ یا محدوده به تصاویر PNG

بر روی صفحات (برگه‌ها) کتاب‌کار تکرار کنید و هر یک را تبدیل کنید. همچنین می‌توانید با تنظیم pageNumber یا استفاده از گزینه‌های بارگذاری اضافی، به یک بازه خاص هدف بگیرید:

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);
}

خروجی را تأیید کنید و استثناها را مدیریت کنید

منطق تبدیل را در یک بلوک try‑catch بپیچید و اطمینان حاصل کنید که قبل از شروع، پوشه خروجی وجود دارد.

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();
}

مراحل بالا نشان می‌دهند که چگونه می‌توانید تبدیل Excel به تصویر را با استفاده از Conholdate.Total SDK انجام دهید در حالی که انعطاف‌پذیری برای کار با نمودارها، بازه‌ها و ورق‌های کامل را به شما می‌دهد.

مثال کامل کد: تبدیل Excel به تصویر با پشتیبانی از تمام شیت

کد زیر پیاده‌سازی کامل و آماده اجرا را که در مراحل بالا توضیح داده شد، نشان می‌دهد.

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();
        }
    }
}

توجه: این مثال کد عملکرد اصلی را نشان می‌دهد. قبل از استفاده از آن در پروژه خود، مطمئن شوید مسیرهای فایل (input.xlsx, output_images) با مکان‌های واقعی فایل‌های شما مطابقت دارند، اطمینان حاصل کنید تمام وابستگی‌های مورد نیاز به‌درستی نصب شده‌اند، و به‌طور کامل در محیط توسعه خود تست کنید. اگر با مشکلی مواجه شدید، لطفاً به مستندات رسمی مراجعه کنید یا برای دریافت کمک به تیم پشتیبانی مراجعه کنید.

نتیجه‌گیری

تبدیل Excel به تصویر در Java زمانی که از Conholdate.Total for Java استفاده کنید، ساده می‌شود. SDK رندر نمودارها، ارزیابی فرمول‌ها و خروجی PNG با کیفیت بالا را با حداقل کد مدیریت می‌کند. با دنبال کردن راهنمای گام‌به‌گام می‌توانید این قابلیت را در ابزارهای گزارش‌گیری، تولیدکنندگان ایمیل یا هر برنامه‌ای که به نمایش تصویری صفحات گسترده نیاز دارد، یکپارچه کنید. به یاد داشته باشید که استقرارهای تولیدی نیاز به مجوز تجاری دارند؛ می‌توانید گزینه‌های قیمت‌گذاری را در صفحه Conholdate.Total pricing بررسی کنید و در حین ارزیابی، مجوز موقت را از صفحه temporary license page دریافت کنید.

سوالات متداول

  • چگونه می‌توانم Excel را به تصویر در Java تبدیل کنم؟
    از کلاس Conversion موجود در Conholdate.Total for Java، ExcelLoadOptions و ImageConvertOptions را پیکربندی کنید، سپس برای هر برگه کاری متد convert را فراخوانی کنید.

  • آیا می‌توانم یک نمودار Excel را به تصویر تبدیل کنم؟
    بله. بارگذاری نمودار را با loadOptions.setLoadCharts(true) فعال کنید و هنگام تنظیم imgOptions.setPageNumber شماره صفحه نمودار را مشخص کنید.

  • آیا امکان تبدیل فقط یک بازه خاص از سلول‌ها وجود دارد؟
    می‌توانید یک بازه را در گزینه‌های بارگذاری تعریف کنید یا شماره صفحه مناسب که با بازه مورد نظر مطابقت دارد را قبل از تبدیل انتخاب کنید.

  • برای استفاده در تولید چه مجوزی مورد نیاز است؟
    یک مجوز تجاری مورد نیاز است. هزینه‌ها را در صفحه قیمت‌گذاری Conholdate.Total بررسی کنید و یک مجوز موقت از صفحه مجوز موقت دریافت کنید.

بیشتر بخوانید