استيراد وتصدير البيانات

استيراد البيانات إلى ورقة العمل

تمثل البيانات العالم كما هي. لفهم البيانات، نقوم بتحليلها وكسب فهم للعالم. تتحول البيانات إلى معلومات.

هناك العديد من الطرق لإجراء التحليل: وضع البيانات في جداول البيانات وتلاعب بها بطرق مختلفة هي طريقة شائعة. مع Aspose.Cells، من السهل إنشاء جداول بيانات تأخذ البيانات من مجموعة متنوعة من المصادر الخارجية وتعدّها للتحليل.

يناقش هذا المقال بعض تقنيات استيراد البيانات التي يحصل عليها المطورون من خلال Aspose.Cells.

استيراد البيانات باستخدام Aspose.Cells

عند فتح ملف Excel باستخدام Aspose.Cells، يتم استيراد جميع البيانات في الملف تلقائياً. يمكن أيضاً لـ Aspose.Cells استيراد البيانات من مصادر بيانات أخرى:

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

الاستيراد من صفيف

لتوريد البيانات إلى جدول بيانات من صفيف، ادعوا طريقة importArray في مجموعة Cells. هناك العديد من الإصدارات المحملة ضعفيا لطريقة importArray ولكن الإصدار النموذجي يأخذ المعلمات التالية:

  • مصفوفة، الكائن مصفوفة الذي تقوم باستيراد المحتوى منه.
  • رقم الصف، رقم الصف الذي سيتم استيراد البيانات إليه.
  • رقم العمود، رقم العمود الذي سيتم استيراد البيانات إليه.
  • هَلْ رأسيّ، قيمة بولية تحدد ما إذا كنت ستقوم استيراد البيانات عموديًا أو أفقيًا.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// The path to the documents directory.
String dataDir = Utils.getSharedDataDir(ImportingFromArray.class) + "data/";
// Instantiating a Workbook object
Workbook workbook = new Workbook();
// Obtaining the reference of the worksheet
Worksheet worksheet = workbook.getWorksheets().get(0);
// Creating an array containing names as string values
String[] names = new String[] { "laurence chen", "roman korchagin", "kyle huang" };
// Importing the array of names to 1st row and first column vertically
Cells cells = worksheet.getCells();
cells.importArray(names, 0, 0, false);
// Saving the Excel file
workbook.save(dataDir + "ImportingFromArray_out.xls");
// Printing the name of the cell found after searching worksheet
System.out.println("Process completed successfully");

الاستيراد من صفائف متعددة الأبعاد

لتوريد البيانات إلى جدول بيانات من صفائف متعددة الأبعاد، ادعوا طريقة importArray المحملة ضعفيا ذات الصلة في مجموعة Cells:

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// The path to the documents directory.
String dataDir = Utils.getSharedDataDir(ImportingFromMultiDimensionalArray.class) + "data/";
// Instantiate a new Workbook
Workbook workbook = new Workbook();
// Get the first worksheet (default sheet) in the Workbook
Cells cells = workbook.getWorksheets().get("Sheet1").getCells();
// Define a multi-dimensional array and store some data into it.
String[][] strArray = { { "A", "1A", "2A" }, { "B", "2B", "3B" } };
// Import the multi-dimensional array to the sheet
cells.importArray(strArray, 0, 0);
// Save the Excel file
workbook.save(dataDir + "IFMDA_out.xlsx");

الاستيراد من ArrayList

لإدخال البيانات من ArrayList إلى أوراق العمل ، يتم استدعاء الأسلوب ImportArrayList في مجموعة Cells. يستغرق الأسلوب ImportArrayList التالية المعلمات التالية:

  • الجمعية, ArrayList الذي سيتم توريد محتوياته.
  • رقم الصف, رقم الصف الأول لنطاق الخلية من الذي سيتم توريد المحتويات.
  • رقم العمود, رقم العمود الأول من الذي سيتم توريد البيانات.
  • هل هو عمودي, قيمة بوليانية تحدد ما إذا كان من المناسب توريد البيانات عموديًا أم أفقيًا.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// The path to the documents directory.
String dataDir = Utils.getSharedDataDir(ImportingFromArrayList.class) + "data/";
// Instantiating a Workbook object
Workbook workbook = new Workbook();
// Obtaining the reference of the worksheet
Worksheet worksheet = workbook.getWorksheets().get(0);
// Instantiating an ArrayList object
ArrayList list = new ArrayList();
// Add few names to the list as string values
list.add("laurence chen");
list.add("roman korchagin");
list.add("kyle huang");
list.add("tommy wang");
// Importing the contents of ArrayList to 1st row and first column
// vertically
worksheet.getCells().importArrayList(list, 0, 0, true);
// Saving the Excel file
workbook.save(dataDir + "IFromArrayList_out.xls");
// Printing the name of the cell found after searching worksheet
System.out.println("Process completed successfully");

الاستيراد من الكائنات المخصصة إلى منطقة مدمجة

لتوريد البيانات من مجموعة من الكائنات إلى صفحة عمل تحتوي على خلايا مدمجة، استخدم خاصية ImportTableOptions.CheckMergedCells. إذا كان لديك القالب الخاص بإكسل به خلايا مدمجة، ضبط قيمة الخاصية ImportTableOptions.CheckMergedCells على صحيح. قم بتمرير كائن ImportTableOptions مع قائمة الأعمدة/الخصائص إلى الطريقة لعرض القائمة المطلوبة من الكائنات الخاصة بك. يُظهر الكود البرمجي التالي استخدام الخاصية ImportTableOptions.CheckMergedCells لتوريد البيانات من الكائنات المخصصة إلى الخلايا المدمجة. يُرجى الاطلاع على الملف الإكسل المرفق المصدر والملف إكسل الناتج للإحالة.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// The path to the documents directory.
String dataDir = Utils.getSharedDataDir(ImportingFromArrayList.class) + "data/";
// Instantiating a Workbook object
Workbook workbook = new Workbook();
// Obtaining the reference of the worksheet
Worksheet worksheet = workbook.getWorksheets().get(0);
// Instantiating an ArrayList object
ArrayList list = new ArrayList();
// Add few names to the list as string values
list.add("laurence chen");
list.add("roman korchagin");
list.add("kyle huang");
list.add("tommy wang");
// Importing the contents of ArrayList to 1st row and first column
// vertically
worksheet.getCells().importArrayList(list, 0, 0, true);
// Saving the Excel file
workbook.save(dataDir + "IFromArrayList_out.xls");
// Printing the name of the cell found after searching worksheet
System.out.println("Process completed successfully");

استيراد البيانات من JSON

توفر Aspose.Cells فئة JsonUtility لمعالجة JSON. تحتوي فئة JsonUtility على طريقة ImportData لاستيراد البيانات ال JSON. كما توفر Aspose.Cells فئة JsonLayoutOptions التي تمثل خيارات تخطيط JSON. الطريقة ImportData تقبل JsonLayoutOptions كمعلمة. توفر الفئة JsonLayoutOptions الخصائص التالية.

  • ArrayAsTable: يشير ما إذا كان يجب معالجة الصف في مصفوفة كجدول أم لا.
  • ConvertNumericOrDate: يحصل أو يعين قيمة تشير إلى ما إذا كان يجب تحويل السلسلة في JSON إلى رقم أو تاريخ أم لا.
  • DateFormat: يحصل ويضبط تنسيق قيمة التاريخ.
  • IgnoreArrayTitle: يدل ما إذا كان يتجاهل العنوان في حال كان خصائص الكائن هي مصفوفة.
  • IgnoreNull: يشير ما إذا كان يجب تجاهل قيمة الـ Null أم لا.
  • IgnoreObjectTitle: يشير ما إذا كان يجب تجاهل العنوان في حال كانت خصائص الكائن هي كائن.
  • NumberFormat: يحصل ويضبط تنسيق القيمة الرقمية.
  • TitleStyle: يحصل ويضبط نمط العنوان.

يلضح الكود النموذجي المعطى أدناه استخدام فئتي JsonUtility و JsonLayoutOptions لاستيراد بيانات JSON.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// The path to the documents directory.
String dataDir = Utils.getSharedDataDir(ImportingFromJson.class) + "Data/";
// Instantiating a Workbook object
Workbook workbook = new Workbook();
Worksheet worksheet = workbook.getWorksheets().get(0);
// Read File
File file = new File(dataDir + "Test.json");
BufferedReader bufferedReader = new BufferedReader(new FileReader(file));
String jsonInput = "";
String tempString;
while ((tempString = bufferedReader.readLine()) != null) {
jsonInput = jsonInput + tempString;
}
bufferedReader.close();
// Set Styles
CellsFactory factory = new CellsFactory();
Style style = factory.createStyle();
style.setHorizontalAlignment(TextAlignmentType.CENTER);
style.getFont().setColor(Color.getBlueViolet());
style.getFont().setBold(true);
// Set JsonLayoutOptions
JsonLayoutOptions options = new JsonLayoutOptions();
options.setTitleStyle(style);
options.setArrayAsTable(true);
// Import JSON Data
JsonUtility.importData(jsonInput, worksheet.getCells(), 0, 0, options);
// Save Excel file
workbook.save(dataDir + "ImportingFromJson.out.xlsx");

تصدير بيانات من ورق العمل

تتيح Aspose.Cells لمستخدميها ليس فقط استيراد البيانات إلى أوراق العمل من مصادر بيانات خارجية ولكنها تسمح أيضًا لهم بتصدير بيانات ورق العمل إلى مصفوفة.

تصدير البيانات باستخدام Aspose.Cells - تصدير البيانات إلى مصفوفة

توفر Aspose.Cells فئة، Workbook، التي تمثل ملف Microsoft Excel. تحتوي الفئة Workbook على WorksheetCollection يسمح بالوصول إلى كل ورق عمل في ملف Excel. يُمثل ورق العمل بواسطة الفئة Worksheet. توفر الفئة Worksheet مجموعة Cells.

يمكن تصدير البيانات بسهولة إلى كائن مصفوفة باستخدام طريقة exportArray لـ فئة Cells.

الأعمدة الحاوية على بيانات مكتوبة بنوعية محددة

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

  • رقم الصف، رقم الصف الأول الذي سيتم تصدير البيانات منه.
  • رقم العمود، رقم العمود الأول حيث سيتم تصدير البيانات منه.
  • عدد الصفوف، عدد الصفوف المراد تصديرها.
  • عدد الأعمدة، عدد الأعمدة المراد تصديرها.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// The path to the documents directory.
String dataDir = Utils.getSharedDataDir(ExportingDataFromWorksheets.class) + "Data/";
// Creating a file stream containing the Excel file to be opened
FileInputStream fstream = new FileInputStream(dataDir + "book1.xls");
// Instantiating a Workbook object
Workbook workbook = new Workbook(fstream);
// Accessing the first worksheet in the Excel file
Worksheet worksheet = workbook.getWorksheets().get(0);
// Exporting the contents of 7 rows and 2 columns starting from 1st cell
// to Array.
Object dataTable[][] = worksheet.getCells().exportArray(0, 0, 7, 2);
// Printing the number of rows exported
System.out.println("No. Of Rows Exported: " + dataTable.length);
// Closing the file stream to free all resources
fstream.close();

مواضيع متقدمة