تصدير البيانات إلى Excel في Java

يمكنك بسهولة تصدير البيانات إلى Microsoft Excel من مختلف المصادر المتاحة مثل JSON و CSV. بصفتك مطور Java ، يمكنك تصدير البيانات من Arrays و List of Object و JSON و CSV إلى مستندات Excel برمجيًا. في هذه المقالة ، ستتعلم كيفية تصدير البيانات إلى Excel باستخدام Java.

تتم مناقشة / تغطية الموضوعات التالية في هذه المقالة:

Java API لتصدير البيانات

لتصدير البيانات إلى Excel ، سأستخدم Aspose.Cells for Java API. إنها واجهة برمجة تطبيقات قوية لمعالجة جداول البيانات تتيح لك إنشاء ملفات Excel أو تحريرها أو تحويلها داخل تطبيقات Java. تمكّنك واجهة برمجة التطبيقات من أداء ميزات أتمتة Excel برمجيًا دون الحاجة إلى تطبيق Microsoft Excel.

يمكنك تنزيل JAR الخاص بواجهة برمجة التطبيقات أو فقط إضافة تكوين pom.xml التالي في تطبيق Java المستند إلى Maven لتجربة أمثلة التعليمات البرمجية المذكورة أدناه.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-cells</artifactId>
    <version>21.8</version>
</dependency>

تصدير صفيف إلى Excel في Java

يمكنك بسهولة تصدير البيانات من صفيف أحادي البعد أو مصفوفة ثنائية الأبعاد إلى مستند Excel. يمكن أن يكون المصفوفة من نوع مرجع أو نوع قيمة. يمكنك تصدير البيانات من مصفوفة إلى Excel باتباع الخطوات البسيطة المذكورة أدناه:

  • قم بإنشاء مثيل لفئة Workbook
  • احصل على ورقة عمل في مثيل لفئة Worksheet
  • قم بإنشاء مصفوفة تحتوي على قيم سلسلة
  • قم باستدعاء الأسلوب importArray () باستخدام المصفوفة
  • احفظ ملف الإخراج عن طريق استدعاء طريقة save () لفئة المصنف

يوضح نموذج التعليمات البرمجية التالي كيفية تصدير صفيف من السلاسل إلى Excel باستخدام Java.

// تهيئة كائن مصنف
Workbook workbook = new Workbook();

// الحصول على مرجع ورقة العمل
Worksheet worksheet = workbook.getWorksheets().get(0);

// إنشاء مصفوفة تحتوي على أسماء كقيم سلسلة
String[] names = new String[] { "Laurence Chen", "Roman Korchagin", "Kyle Huang" };

// تصدير مصفوفة الأسماء إلى الصف الأول والعمود الأول عموديًا
worksheet.getCells().importArray(names, 0, 0, true);

// حفظ ملف Excel
workbook.save("C:\\Files\\output.xlsx");
تصدير صفيف إلى Excel في Java

تصدير صفيف إلى Excel في Java

فئة مصنف من API هي الفئة الرئيسية لإنشاء جدول بيانات Excel. يوفر وظائف لفتح ملفات Excel الأصلية وحفظها. يتم استخدام طريقة save () لهذه الفئة لحفظ ملف الإخراج في مسار الملف المحدد.

تمثل فئة Worksheet ورقة عمل واحدة وتوفر وظائف للعمل مع الخلايا والصفوف.

تقوم طريقة importArray () لفئة الخلايا بتصدير مصفوفة من السلاسل إلى ورقة عمل. يأخذ معلمات الإدخال التالية:

  • stringArray: مصفوفة قيم السلسلة
  • firstRow: رقم صف الخلية الأولى المطلوب التصدير إليها
  • firstColumn: رقم عمود الخلية الأولى المطلوب التصدير إليها
  • عمودي: يحدد ما إذا كان سيتم تصدير البيانات رأسيًا أو أفقيًا

توفر واجهة برمجة التطبيقات أيضًا الإصدارات المحملة بشكل زائد من طريقة importArray () لتصدير مصفوفة من الأعداد الصحيحة أو مضاعفة إلى ورقة عمل.

تصدير صفيف ثنائي الأبعاد إلى Excel

وبالمثل ، يمكنك تصدير صفيف ثنائي الأبعاد إلى ملف Excel. يوضح نموذج التعليمات البرمجية التالي كيفية تصدير صفيف ثنائي الأبعاد إلى ملف Excel في Java.

// تهيئة كائن مصنف
Workbook workbook = new Workbook();

// الحصول على مرجع ورقة العمل
Worksheet worksheet = workbook.getWorksheets().get(0);

// إنشاء مصفوفة ثنائية الأبعاد من الأعداد الصحيحة
int[][] array2D = { 
  { 1, 2 }, 
  { 3, 4 }, 
  { 5, 6 }, 
  { 7, 8 } 
};

// تصدير مصفوفة الأسماء إلى الصف الأول والعمود الأول عموديًا
worksheet.getCells().importArray(array2D, 0, 0);

// حفظ ملف Excel
workbook.save("C:\\Files\\output.xlsx");
تصدير صفيف ثنائي الأبعاد إلى Excel

تصدير صفيف ثنائي الأبعاد إلى Excel

توفر فئة الخلايا طريقة importArray () لتصدير مصفوفة ثنائية الأبعاد من الأعداد الصحيحة إلى ورقة عمل. توفر API أيضًا الإصدارات المحملة بشكل زائد من هذه الطريقة لتصدير مصفوفة ثنائية الأبعاد من السلاسل أو مضاعفة في ورقة عمل.

تصدير ArrayList إلى Excel في Java

يمكنك تصدير البيانات من ArrayList إلى Excel باتباع الخطوات المذكورة أدناه:

  • قم بإنشاء مثيل لفئة Workbook
  • احصل على ورقة عمل في مثيل لفئة Worksheet
  • قم بإنشاء قائمة مصفوفة تحتوي على قيم سلسلة
  • قم باستدعاء الأسلوب importArrayList () بقائمة الصفيف
  • احفظ ملف الإخراج عن طريق استدعاء طريقة save () لفئة المصنف

يُظهر نموذج التعليمات البرمجية التالي كيفية تصدير ArrayList إلى Excel في Java.

// تهيئة كائن مصنف
Workbook workbook = new Workbook();

// الحصول على مرجع ورقة العمل
Worksheet worksheet = workbook.getWorksheets().get(0);

// إنشاء كائن ArrayList
ArrayList<String> list = new ArrayList<String>();

// أضف بعض الأسماء إلى القائمة كقيم سلسلة
list.add("Laurence Chen");
list.add("Roman Korchagin");
list.add("Kyle Huang");
list.add("Tommy Wang");

// تصدير محتويات ArrayList عموديًا في الصف الأول والعمود الأول من ورقة العمل. 
worksheet.getCells().importArrayList(list, 0, 0, true);

// حفظ ملف Excel
workbook.save("C:\\Files\\Output.xlsx");
تصدير قائمة الصفيف إلى Excel في Java

تصدير ArrayList إلى Excel في Java

تقوم طريقة importArrayList () الخاصة بفئة الخلايا بتصدير ArrayList من البيانات إلى ورقة عمل. يستغرق أربعة معلمات بما في ذلك ArrayList من البيانات. المعلمات الأخرى هي firstRow و firstColumn و isVertical.

تصدير مجموعة من الكائنات المخصصة إلى Excel في Java

يمكنك تصدير البيانات من مجموعة من الكائنات المخصصة إلى Excel باتباع الخطوات المذكورة أدناه:

  • قم بإنشاء مثيل لفئة Workbook
  • احصل على ورقة عمل في مثيل لفئة Worksheet
  • إنشاء قائمة مصفوفة من الكائنات المخصصة
  • قم باستدعاء الأسلوب importCustomObjects () مع قائمة الصفيف
  • احفظ ملف الإخراج عن طريق استدعاء طريقة save () لفئة المصنف

يوضح نموذج التعليمات البرمجية التالي كيفية تصدير مجموعة من الكائنات المخصصة إلى Excel في Java.

// تهيئة مصنف جديد
Workbook book = new Workbook();

// الحصول على مرجع ورقة العمل
Worksheet sheet = book.getWorksheets().get(0);

// تحديد ArrayList من الأشخاص
List<Person> list = new ArrayList<Person>();

list.add(new Person("Mike", 25, "Software Engineer"));
list.add(new Person("Steve", 30, "Doctor"));
list.add(new Person("Billy", 35, "Teacher"));

// نختار فقط أعمدة الاسم والعمر ، وليس كلها ، للتصدير إلى ورقة العمل         
sheet.getCells().importCustomObjects((Collection)list,
    new String[] { "Name", "Age" }, // propertyNames
    true, // isPropertyNameShown
    0, // firstRow
    0, // firstColumn
    list.size(), // Number of objects to be exported
    true, // insertRows
    null, // dateFormatString
    false); // convertStringToNumber

// احفظ ملف Excel
book.save("C:\\Files\\Output.xlsx");
مجموعة من الكائنات المخصصة لبرنامج Excel في Java

مجموعة من الكائنات المخصصة لبرنامج Excel في Java

تقوم طريقة importCustomObjects () لفئة الخلايا بتصدير قائمة بالكائنات المخصصة وتأخذ المعلمات التالية. توفر واجهة برمجة التطبيقات أيضًا إصدارًا محملاً بشكل زائد من هذه الطريقة والذي يتطلب عددًا أقل من المعلمات.

  • list: مجموعة الكائنات المخصصة
  • PropertiesName: حدد اسمًا لخاصية معينة للتصدير. إذا كان فارغًا ، فسيتم تصدير جميع خصائص الكائن
  • isPropertyNameShown: يشير إلى ما إذا كان سيتم تصدير اسم الخاصية إلى الصف الأول
  • firstRow: رقم صف الخلية الأولى المطلوب تصديرها
  • firstColumn: رقم عمود الخلية الأولى المطلوب تصديرها
  • rowNumber: عدد الصفوف المراد تصديرها
  • insertRows: يشير إلى ما إذا كانت الصفوف الإضافية ستتم إضافتها لملاءمة البيانات
  • dataFormatString: سلسلة تنسيق التاريخ للخلايا
  • convertStringToNumber: يشير إلى ما إذا كانت هذه الطريقة ستحاول تحويل سلسلة إلى رقم.

تصدير البيانات إلى Excel باستخدام الخلايا المدمجة في Java

يمكنك تصدير البيانات من مجموعة كائنات إلى ورقة عمل تحتوي على خلايا مدمجة باتباع الخطوات المذكورة أدناه:

  • قم بإنشاء مثيل لفئة Workbook with template file path
  • احصل على ورقة عمل في مثيل لفئة Worksheet
  • قم بإنشاء قائمة مصفوفة من الكائنات
  • قم بإنشاء مثيل لفئة ImportTableOptions
  • قم باستدعاء الأسلوب importCustomObjects () مع قائمة الصفيف
  • احفظ ملف الإخراج عن طريق استدعاء طريقة save () لفئة المصنف

يوضح نموذج التعليمات البرمجية التالي كيفية تصدير مجموعة من الكائنات المخصصة إلى ورقة عمل Excel مع خلايا مدمجة في Java.

// فتح مصنف موجود.
Workbook workbook = new Workbook("C:\\Files\\SampleMergedTemplate.xlsx");

// الحصول على مرجع ورقة العمل
Worksheet sheet = workbook.getWorksheets().get(0);

// إنشاء كائن ArrayList
List<Product> productList = new ArrayList<Product>();

// إنشاء مجموعة من المنتجات
for (int i = 0; i < 3; i++)
{
  Product product = new Product(i, "Product - " + i);
    productList.add(product);
}

// تحديد خيارات استيراد الجدول
ImportTableOptions tableOptions = new ImportTableOptions();

// قم بتعيين خاصية CheckMergedCells على true
tableOptions.setCheckMergedCells(true);
tableOptions.setFieldNameShown(false);

// تصدير البيانات إلى قالب Excel (في الصف الثاني ، العمود الأول)           
sheet.getCells().importCustomObjects((Collection)productList, 1, 0, tableOptions);

// احفظ ملف Excel
workbook.save("C:\\Files\\Output.xlsx", SaveFormat.XLSX);
تصدير البيانات إلى Excel باستخدام الخلايا المدمجة في Java

تصدير البيانات إلى Excel باستخدام الخلايا المدمجة في Java

توفر فئة ImportTableOptions عدة خيارات لتصدير البيانات إلى الخلايا. تشير setCheckMergedCells إلى ما إذا كان فحص الخلايا المدمجة أم لا. تشير الخاصية setFieldNameShown إلى ما إذا كان يجب تصدير اسم الحقل أم لا.

انسخ الصفوف والأعمدة من ملف Excel إلى ملف آخر في Java

يمكنك بسهولة نسخ الصفوف والأعمدة من ملف Excel إلى ملف آخر برمجيًا باتباع الخطوات المذكورة أدناه:

  • قم بإنشاء مثيل لفئة Workbook with source workbook input file
  • قم بإنشاء مثيل لفئة Workbook for destination workbook
  • احصل على أوراق عمل المصدر والوجهة في حالات منفصلة من فئة Worksheet
  • قم باستدعاء الأسلوب copyRows () الخاص بورقة العمل الوجهة بخلايا ورقة العمل المصدر
  • احفظ ملف إخراج المصنف الوجهة عن طريق استدعاء الأسلوب save () لفئة المصنف

يوضح نموذج التعليمات البرمجية التالي كيفية نسخ الصفوف والأعمدة من ملف Excel إلى ملف آخر باستخدام Java.

// افتح ملف Excel المصدر.
Workbook srcWorkbook = new Workbook("C:\\Files\\Source_Workbook.xlsx");

// إنشاء ملف اكسل الوجهة.
Workbook destWorkbook = new Workbook();

// احصل على ورقة العمل الأولى من المصنف المصدر.
Worksheet srcWorksheet = srcWorkbook.getWorksheets().get(0);

// احصل على ورقة العمل الأولى من المصنف الوجهة.
Worksheet desWorksheet = destWorkbook.getWorksheets().get(0);

// انسخ جميع صفوف ورقة العمل الأولى من المصنف المصدر إلى
// أول ورقة عمل من المصنف الوجهة.
desWorksheet.getCells().copyRows(srcWorksheet.getCells(), 0, 0, srcWorksheet.getCells().getMaxDisplayRange().getRowCount());

// احفظ ملف اكسل.
destWorkbook.save("C:\\Files\\Destination_Workbook.xlsx");	
انسخ الصفوف والأعمدة من ملف Excel إلى ملف آخر في Java

انسخ الصفوف والأعمدة من ملف Excel إلى ملف آخر في Java

يمكنك نسخ صفوف معينة من ملف Excel إلى آخر. يوضح نموذج التعليمات البرمجية التالي كيفية نسخ صفوف معينة من ملف Excel إلى ملف آخر باستخدام Java.

// افتح ملف Excel المصدر.
Workbook srcWorkbook = new Workbook("C:\\Files\\Source_Workbook.xlsx");

// إنشاء ملف اكسل الوجهة.
Workbook destWorkbook = new Workbook();

// احصل على ورقة العمل الأولى من المصنف المصدر.
Worksheet srcWorksheet = srcWorkbook.getWorksheets().get(0);

// احصل على ورقة العمل الأولى من المصنف الوجهة.
Worksheet desWorksheet = destWorkbook.getWorksheets().get(0);

// انسخ الصف الثاني من المصنف المصدر إلى الصف الأول من المصنف الوجهة.
desWorksheet.getCells().copyRow(srcWorksheet.getCells(), 1, 0);

// انسخ الصف الرابع من المصنف المصدر إلى الصف الثاني من المصنف الوجهة.
desWorksheet.getCells().copyRow(srcWorksheet.getCells(), 3, 1);

// احفظ ملف اكسل.
destWorkbook.save("C:\\Files\\Destination_Workbook.xlsx");
انسخ صفوفًا وأعمدة معينة من ملف Excel إلى ملف آخر في Java

انسخ صفوفًا وأعمدة معينة من ملف Excel إلى ملف آخر في Java

تقوم الطريقة copyRows () بنسخ البيانات وتنسيقات الصفوف بأكملها. يستغرق نسخ خلايا ورقة العمل المصدر كمعلمات إدخال جنبًا إلى جنب مع فهرس صف المصدر وفهرس صف الوجهة ورقم الصف المنسوخ. توفر واجهة برمجة التطبيقات أيضًا الإصدارات المحملة بشكل زائد من هذه الطريقة لنسخ الصفوف مع خيارات النسخ و خيارات اللصق.

وبالمثل ، يمكنك نسخ بيانات الأعمدة من مستند Microsoft Excel إلى مستند آخر باستخدام طريقة copyColumn () أو copyColumns ().

تصدير بيانات JSON إلى Excel في Java

يمكنك بسهولة تصدير البيانات من ملف JSON إلى Excel باتباع الخطوات المذكورة أدناه:

  • قم بإنشاء مثيل لفئة Workbook
  • احصل على ورقة عمل في مثيل لفئة Worksheet
  • اقرأ ملف JSON
  • قم بإنشاء مثيل لفئة CellsFactory
  • ابدأ النمط باستدعاء طريقة createStyle ()
  • قم بتعيين خصائص نمط مختلفة مثل المحاذاة الأفقية ولون الخط وما إلى ذلك.
  • قم بإنشاء مثيل لفئة JsonLayoutOptions
  • تعيين نمط العنوان مع كائن النمط
  • تعيين الصفيف كخاصية الجدول إلى صحيح
  • قم باستدعاء الأسلوب JsonUtility.importData () باستخدام إدخال JSON و JsonLayoutOptions
  • احفظ ملف الإخراج عن طريق استدعاء طريقة save () لفئة المصنف

يوضح نموذج التعليمات البرمجية التالي كيفية تصدير البيانات من ملف JSON إلى Excel باستخدام Java.

// إنشاء كائن مصنف
Workbook workbook = new Workbook();
Worksheet worksheet = workbook.getWorksheets().get(0);

// قراءة ملف JSON
File file = new File("C:\\Files\\sample.json");
BufferedReader bufferedReader = new BufferedReader(new FileReader(file));
    String jsonInput = "";
    String tempString;
    while ((tempString = bufferedReader.readLine()) != null) {
      jsonInput = jsonInput + tempString; 
    }
    bufferedReader.close();

// تعيين الأنماط
CellsFactory factory = new CellsFactory();
Style style = factory.createStyle();
style.setHorizontalAlignment(TextAlignmentType.CENTER);
style.getFont().setColor(Color.getCyan());
style.getFont().setBold(true);

// قم بتعيين JsonLayoutOptions
JsonLayoutOptions options = new JsonLayoutOptions();
options.setTitleStyle(style);
options.setArrayAsTable(true);

// تصدير بيانات JSON
JsonUtility.importData(jsonInput, worksheet.getCells(), 0, 0, options);

// احفظ ملف Excel
workbook.save("C:\\Files\\Output.xlsx");
{
  "quiz": {
    "sport": {
      "q1": {
        "question": "Which one is correct team name in NBA?",
        "answer": "Huston Rocket"
      }
    },
    "maths": {
      "q1": {
        "question": "5 + 7 = ?",
        "answer": "12"
      },
      "q2": {
        "question": "12 - 8 = ?",
        "answer": "4"
      }
    }
  }
}
تصدير بيانات JSON إلى Excel في Java

تصدير بيانات JSON إلى Excel في Java

تقوم الفئة CellsFactory بإنشاء أصناف من نموذج الخلايا. طريقة createStyle () لهذه الفئة تنشئ كائن نمط جديد لفئة Style. تسمح فئة النمط بتعيين نمط عرض مستند Excel ، مثل الخط واللون والمحاذاة والحدود وما إلى ذلك.

توفر فئة JsonLayoutOptions خيارات نوع تخطيط JSON. يتم استخدام طريقة setTitleStyle الخاصة بهذه الفئة لتعيين النمط المحدد للعنوان. تسمح طريقة setArrayAsTable بمعالجة الصفيف كجدول.

يوفر API فئة JsonUtility لمعالجة JSON. تقوم الطريقة importData () لهذه الفئة بتصدير سلسلة JSON وتأخذ المعلمات التالية:

  • json: سلسلة JSON
  • الخلايا: الخلايا
  • صف: فهرس الصف
  • العمود: فهرس العمود
  • الخيار: خيارات تصدير سلسلة JSON

احصل على بيانات CSV في Excel باستخدام Java

يمكنك تصدير البيانات من ملف CSV إلى Excel باتباع الخطوات البسيطة المذكورة أدناه:

  • إنشاء مثيل من LoadOptions class wih LoadFormat
  • قم بإنشاء مثيل لفئة Workbook with CSV file path and LoadOptions object
  • قم باستدعاء طريقة save () لفئة المصنف واحفظ ملف الإخراج

يوضح نموذج التعليمات البرمجية التالي كيفية تصدير البيانات من ملف CSV إلى Excel باستخدام Java.

// تهيئة LoadOptions باستخدام تنسيق CSV LoadFormat.
LoadOptions loadOptions = new LoadOptions(LoadFormat.CSV);

// افتح ملف CSV ككائن مصنف
Workbook workbook = new Workbook("C:\\Files\\Sample.csv", loadOptions);

// احفظ الملف كمستند Excel
workbook.save("C:\\Files\\Output.xlsx");
id,language,edition,author,streetAddress,city,state,postalCode
01,Java,third,Herbert Schildt,126,San Jone,CA,394221
02,C++,second,EAAAA,126,San Jone,CA,394221
03,.Net,second,E.Balagurusamy,126,San Jone,CA,394221
تصدير بيانات CSV إلى Excel في Java

تصدير بيانات CSV إلى Excel في Java

توفر فئة LoadOptions الخاصة بواجهة برمجة التطبيقات خيارات لتحميل الملف. تحتوي الفئة LoadFormat على ثوابت تمثل تنسيقات ملفات التحميل.

احصل على رخصة مجانية

يمكنك تجربة واجهة برمجة التطبيقات بدون قيود التقييم من خلال طلب ترخيص مؤقت مجاني.

استنتاج

في هذه المقالة ، تعلمت كيفية تصدير البيانات إلى Excel في Java. لقد تعلمت أيضًا كيفية تصدير البيانات من ملفات Arrays أو JSON أو CSV إلى Excel برمجيًا. علاوة على ذلك ، تعلمت كيفية نسخ الصفوف والأعمدة من ملف Excel إلى ملف آخر باستخدام Java. يمكنك معرفة المزيد حول Aspose.Cells for Java API باستخدام التوثيق. في حالة وجود أي غموض ، فلا تتردد في الاتصال بنا على المنتدى.

أنظر أيضا

أسئلة مكررة

كيف يتم تصدير البيانات إلى ملف XLSX في Java؟ يمكنك بسهولة تصدير البيانات من Arrays و Collection of Objects و JSON و CSV إلى ملف XLSX باستخدام Aspose.Cells for Java API سهل الدمج في تطبيق Java الخاص بك.

كيف أقوم بتصدير البيانات من JSON إلى Excel؟ يوفر Aspose.Cells API JsonUtility لتصدير البيانات من ملف JSON إلى Excel في Java. يمكنك العثور على خطوات بسيطة ضمن قسم [تصدير بيانات JSON إلى Excel في Java] (# Export-JSON-Data-to-Excel-in-Java).

كيف أقوم بتصدير البيانات من CSV إلى Excel في Java؟ يمكنك ببساطة تحميل ملف CSV وحفظه بتنسيق XLSX باستخدام Aspose.Cells API. يمكنك العثور على خطوات بسيطة ضمن قسم [Get CSV Data in Excel using Java] (# Export-CSV-Data-to-Excel-in-Java).