إنشاء معاينات بصرية لبيانات الجداول الإلكترونية هو طلب شائع عند بناء لوحات تقارير أو ملخصات بريد إلكتروني. Conholdate.Total for Java يوفر مجموعة تطوير برمجيات قوية تُبسّط عملية تحويل Excel إلى صورة في تطبيقات Java. في هذا الدليل ستتعرف على كيفية تحميل دفتر عمل XLSX، وتكوين مخرجات PNG، وإنتاج ملفات صور للأوراق بالكامل، أو المخططات، أو النطاقات المحددة. في النهاية ستحصل على عينة كود جاهزة للتنفيذ يمكنك تعديلها لمشاريعك الخاصة.

ما الذي يتطلبه تحويل ملفات Excel إلى صورة من تطبيقك

غالبًا ما يحتاج المطورون إلى تحويل محتوى جداول البيانات إلى صور ثابتة للمعاينات على الويب، وتقارير PDF، أو صور مصغرة للهواتف المحمولة. عادةً ما تشمل المتطلبات الحفاظ على تنسيق خلية، وعرض المخططات المدمجة، وإمكانية تحديد التحويل لنطاق واحد فقط. إن التعامل مع هذه المهام يدويًا بفتح Excel، وأخذ لقطات شاشة، وحفظها لا يتناسب مع الحجم وقد يؤدي إلى نتائج غير متسقة.

القيود التقنية لحل موثوق هي: دعم ملفات XLSX، القدرة على تضمين المخططات والصيغ، إمكانية ضبط دقة الصورة، ومعالجة دفعات متعددة من أوراق العمل. يجب أن يتم تشغيل التحويل على خادم أو بيئة سطح مكتب دون الحاجة إلى Microsoft Office.

اختيار Conholdate.Total for Java للوظيفة

Conholdate.Total for Java يقدم واجهة برمجة تطبيقات موحدة تغطي جميع القدرات المطلوبة. تسمح لك ExcelLoadOptions بتحميل المخططات والصيغ، بينما توفر ImageConvertOptions تحكمًا دقيقًا في التنسيق والجودة والأبعاد. يعمل SDK على أي بيئة تشغيل Java، ويتطلب فقط اعتماد Maven، ويتعامل مع دفاتر العمل الكبيرة بكفاءة.

للحصول على تفاصيل استخدام API راجع الوثائق الرسمية. المرجع الكامل للفئات مثل Conversion و ExcelLoadOptions و ImageConvertOptions متاح في مرجع API. يمكنك تنزيل أحدث مكتبة من صفحة الإصدار.

تنفيذ تحويل Excel إلى صورة في Java

يمكن تقسيم عملية التحويل إلى بضع خطوات واضحة. الأقسام التالية تقودك عبر كل جزء، مع مقتطفات شفرة قصيرة مأخوذة مباشرةً من المثال الكامل.

تثبيت Conholdate.Total لـ Java عبر 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>

تحميل ملف Excel مع دعم المخططات والصيغ

إنشاء مثيل 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 والحصول على ترخيص مؤقت من صفحة الترخيص المؤقت أثناء التقييم.

الأسئلة الشائعة

  • كيف يمكنني تحويل Excel إلى صورة في Java؟
    استخدم الفئة Conversion من Conholdate.Total for Java، قم بتكوين ExcelLoadOptions و ImageConvertOptions، ثم استدعِ convert لكل ورقة عمل.

  • هل يمكنني تحويل مخطط Excel إلى صورة؟
    نعم. قم بتمكين تحميل المخطط باستخدام loadOptions.setLoadCharts(true) وحدد رقم صفحة المخطط عند ضبط imgOptions.setPageNumber.

  • هل من الممكن تحويل نطاق خلايا محدد فقط؟
    يمكنك تحديد النطاق في خيارات التحميل أو اختيار رقم الصفحة المناسب الذي يتطابق مع النطاق المطلوب قبل التحويل.

  • ما الترخيص المطلوب للاستخدام في الإنتاج؟
    يتطلب ترخيص تجاري. راجع التكاليف على تسعير Conholdate.Total واحصل على ترخيص مؤقت من صفحة الترخيص المؤقت.

اقرأ المزيد