أفضل شيء في ملفات Excel هو أنه يمكنك إجراء تعديلات في أي مرحلة من مراحل تجميع البيانات أو تصورها. لا يزال MS Excel في أعلى القائمة لتنظيم البيانات وإجراء العمليات الحسابية المعقدة. في منشور المدونة هذا ، سنتعلم كيفية إنشاء جدول محوري في Excel باستخدام Node.js برمجيًا. بالإضافة إلى ذلك ، سنتعرف أيضًا على كيفية إنشاء مخطط محوري في ملف Excel استنادًا إلى جدول محوري. لهذا ، سنقوم بتثبيت برنامج Excel JavaScript API في مشروع Node.js الخاص بنا.
سيتم تغطية الأقسام التالية:
- تثبيت Excel JavaScript API
- كيفية إنشاء جدول محوري في Excel باستخدام Node.js
- كيفية عمل مخطط محوري في Excel برمجيًا
تثبيت Excel JavaScript API
لتثبيت هذه المكتبة القوية ، يمكنك إما تنزيل حزمة API أو تثبيتها عن طريق تشغيل الأوامر التالية:
npm install java
npm install aspose.cells
كيفية إنشاء جدول محوري في Excel باستخدام Node.js
في هذا القسم ، سنكتب الخطوات التالية ومقتطف الشفرة الذي ينشئ جدولاً محوريًا في Excel برمجيًا.
يمكنك اتباع الخطوات التالية ومقتطف الشفرة لتحويل Excel إلى DataTable في C#:
- إنشاء مثيل لفئة [Workbook] 7.
- احصل على مرجع ورقة العمل الأولى عن طريق استدعاء طريقة get (index).
- قم بتعيين اسم ورقة العمل عن طريق استدعاء طريقة setName.
- اتصل بطريقة getCells للحصول على مجموعة الخلايا.
- get عنصر الخلية في اسم الخلية المحدد.
- قم باستدعاء طريقة setValue لتعيين قيمة النطاق.
- احصل على كائن خلية في النطاق عن طريق استدعاء طريقة get.
- إضافة ورقة جديدة باستدعاء طريقة add.
- get عنصر ورقة العمل في الفهرس المحدد.
- قم بتسمية الورقة عن طريق استدعاء طريقة setName.
- أضف جدولاً محوريًا إلى ورقة العمل عن طريق استدعاء طريقة add.
- اعرض المجاميع الكلية عن طريق تحديد قيمة طريقة setRowGrand.
- قم بتعيين قيمة الأسلوب setColumnGrand الذي يشير إلى ما إذا كان تقرير PivotTable يعرض الإجماليات الكلية للأعمدة.
- الآن ، قم بتعيين قيمة الأسلوب setAutoFormat الذي يشير إلى ما إذا كان تقرير PivotTable قد تم تنسيقه تلقائيًا.
- عيّن نوع التنسيق التلقائي PivotTable عن طريق استدعاء أسلوب setAutoFormatType.
- قم باستدعاء طريقة addFieldToArea لسحب الحقول الأول والثاني والثالث والرابع والخامس إلى منطقة الصف.
- قم بتعيين تنسيق الأرقام لحقل البيانات الأول عن طريق استدعاء أسلوب getDataFields.
- حفظ ملف الإكسل عن طريق استخدام طريقة save.
انسخ الكود التالي والصقه في ملفك الرئيسي:
var aspose = aspose || {};
aspose.cells = require("aspose.cells");
// إنشاء لحظة من فئة المصنف
var workbook = new aspose.cells.Workbook();
// احصل على مرجع ورقة العمل الأولى عن طريق استدعاء طريقة get (index)
var sheet = workbook.getWorksheets().get(0);
// عيّن اسم ورقة العمل عن طريق استدعاء طريقة setName.
sheet.setName("Data");
// اتصل بطريقة getCells للحصول على مجموعة الخلايا.
var cells = sheet.getCells();
// احصل على عنصر الخلية في اسم الخلية المحدد.
var cell = cells.get("A1");
// قم باستدعاء هذه الطريقة لتعيين قيمة النطاق.
cell.setValue("Employee");
// احصل على كائن الخلية في النطاق عن طريق استدعاء طريقة get.
cell = cells.get("B1");
cell.setValue("Quarter");
cell = cells.get("C1");
cell.setValue("Product");
cell = cells.get("D1");
cell.setValue("Continent");
cell = cells.get("E1");
cell.setValue("Country");
cell = cells.get("F1");
cell.setValue("Sale");
cell = cells.get("A2");
cell.setValue("David");
cell = cells.get("A3");
cell.setValue("David");
cell = cells.get("A4");
cell.setValue("David");
cell = cells.get("A5");
cell.setValue("David");
cell = cells.get("A6");
cell.setValue("James");
cell = cells.get("A7");
cell.setValue("James");
cell = cells.get("A8");
cell.setValue("James");
cell = cells.get("A9");
cell.setValue("James");
cell = cells.get("A10");
cell.setValue("James");
cell = cells.get("A11");
cell.setValue("Miya");
cell = cells.get("A12");
cell.setValue("Miya");
cell = cells.get("A13");
cell.setValue("Miya");
cell = cells.get("A14");
cell.setValue("Miya");
cell = cells.get("A15");
cell.setValue("Miya");
cell = cells.get("A16");
cell.setValue("Miya");
cell = cells.get("A17");
cell.setValue("Miya");
cell = cells.get("A18");
cell.setValue("Elvis");
cell = cells.get("A19");
cell.setValue("Elvis");
cell = cells.get("A20");
cell.setValue("Elvis");
cell = cells.get("A21");
cell.setValue("Elvis");
cell = cells.get("A22");
cell.setValue("Elvis");
cell = cells.get("A23");
cell.setValue("Elvis");
cell = cells.get("A24");
cell.setValue("Elvis");
cell = cells.get("A25");
cell.setValue("Jean");
cell = cells.get("A26");
cell.setValue("Jean");
cell = cells.get("A27");
cell.setValue("Jean");
cell = cells.get("A28");
cell.setValue("Ada");
cell = cells.get("A29");
cell.setValue("Ada");
cell = cells.get("A30");
cell.setValue("Ada");
cell = cells.get("B2");
cell.setValue("1");
cell = cells.get("B3");
cell.setValue("2");
cell = cells.get("B4");
cell.setValue("3");
cell = cells.get("B5");
cell.setValue("4");
cell = cells.get("B6");
cell.setValue("1");
cell = cells.get("B7");
cell.setValue("2");
cell = cells.get("B8");
cell.setValue("3");
cell = cells.get("B9");
cell.setValue("4");
cell = cells.get("B10");
cell.setValue("4");
cell = cells.get("B11");
cell.setValue("1");
cell = cells.get("B12");
cell.setValue("1");
cell = cells.get("B13");
cell.setValue("2");
cell = cells.get("B14");
cell.setValue("2");
cell = cells.get("B15");
cell.setValue("3");
cell = cells.get("B16");
cell.setValue("4");
cell = cells.get("B17");
cell.setValue("4");
cell = cells.get("B18");
cell.setValue("1");
cell = cells.get("B19");
cell.setValue("1");
cell = cells.get("B20");
cell.setValue("2");
cell = cells.get("B21");
cell.setValue("3");
cell = cells.get("B22");
cell.setValue("3");
cell = cells.get("B23");
cell.setValue("4");
cell = cells.get("B24");
cell.setValue("4");
cell = cells.get("B25");
cell.setValue("1");
cell = cells.get("B26");
cell.setValue("2");
cell = cells.get("B27");
cell.setValue("3");
cell = cells.get("B28");
cell.setValue("1");
cell = cells.get("B29");
cell.setValue("2");
cell = cells.get("B30");
cell.setValue("3");
cell = cells.get("C2");
cell.setValue("Maxilaku");
cell = cells.get("C3");
cell.setValue("Maxilaku");
cell = cells.get("C4");
cell.setValue("Chai");
cell = cells.get("C5");
cell.setValue("Maxilaku");
cell = cells.get("C6");
cell.setValue("Chang");
cell = cells.get("C7");
cell.setValue("Chang");
cell = cells.get("C8");
cell.setValue("Chang");
cell = cells.get("C9");
cell.setValue("Chang");
cell = cells.get("C10");
cell.setValue("Chang");
cell = cells.get("C11");
cell.setValue("Geitost");
cell = cells.get("C12");
cell.setValue("Chai");
cell = cells.get("C13");
cell.setValue("Geitost");
cell = cells.get("C14");
cell.setValue("Geitost");
cell = cells.get("C15");
cell.setValue("Maxilaku");
cell = cells.get("C16");
cell.setValue("Geitost");
cell = cells.get("C17");
cell.setValue("Geitost");
cell = cells.get("C18");
cell.setValue("Ikuru");
cell = cells.get("C19");
cell.setValue("Ikuru");
cell = cells.get("C20");
cell.setValue("Ikuru");
cell = cells.get("C21");
cell.setValue("Ikuru");
cell = cells.get("C22");
cell.setValue("Ipoh Coffee");
cell = cells.get("C23");
cell.setValue("Ipoh Coffee");
cell = cells.get("C24");
cell.setValue("Ipoh Coffee");
cell = cells.get("C25");
cell.setValue("Chocolade");
cell = cells.get("C26");
cell.setValue("Chocolade");
cell = cells.get("C27");
cell.setValue("Chocolade");
cell = cells.get("C28");
cell.setValue("Chocolade");
cell = cells.get("C29");
cell.setValue("Chocolade");
cell = cells.get("C30");
cell.setValue("Chocolade");
cell = cells.get("D2");
cell.setValue("Asia");
cell = cells.get("D3");
cell.setValue("Asia");
cell = cells.get("D4");
cell.setValue("Asia");
cell = cells.get("D5");
cell.setValue("Asia");
cell = cells.get("D6");
cell.setValue("Europe");
cell = cells.get("D7");
cell.setValue("Europe");
cell = cells.get("D8");
cell.setValue("Europe");
cell = cells.get("D9");
cell.setValue("Europe");
cell = cells.get("D10");
cell.setValue("Europe");
cell = cells.get("D11");
cell.setValue("America");
cell = cells.get("D12");
cell.setValue("America");
cell = cells.get("D13");
cell.setValue("America");
cell = cells.get("D14");
cell.setValue("America");
cell = cells.get("D15");
cell.setValue("America");
cell = cells.get("D16");
cell.setValue("America");
cell = cells.get("D17");
cell.setValue("America");
cell = cells.get("D18");
cell.setValue("Europe");
cell = cells.get("D19");
cell.setValue("Europe");
cell = cells.get("D20");
cell.setValue("Europe");
cell = cells.get("D21");
cell.setValue("Oceania");
cell = cells.get("D22");
cell.setValue("Oceania");
cell = cells.get("D23");
cell.setValue("Oceania");
cell = cells.get("D24");
cell.setValue("Oceania");
cell = cells.get("D25");
cell.setValue("Africa");
cell = cells.get("D26");
cell.setValue("Africa");
cell = cells.get("D27");
cell.setValue("Africa");
cell = cells.get("D28");
cell.setValue("Africa");
cell = cells.get("D29");
cell.setValue("Africa");
cell = cells.get("D30");
cell.setValue("Africa");
cell = cells.get("E2");
cell.setValue("China");
cell = cells.get("E3");
cell.setValue("India");
cell = cells.get("E4");
cell.setValue("Korea");
cell = cells.get("E5");
cell.setValue("India");
cell = cells.get("E6");
cell.setValue("France");
cell = cells.get("E7");
cell.setValue("France");
cell = cells.get("E8");
cell.setValue("Germany");
cell = cells.get("E9");
cell.setValue("Italy");
cell = cells.get("E10");
cell.setValue("France");
cell = cells.get("E11");
cell.setValue("U.S.");
cell = cells.get("E12");
cell.setValue("U.S.");
cell = cells.get("E13");
cell.setValue("Brazil");
cell = cells.get("E14");
cell.setValue("U.S.");
cell = cells.get("E15");
cell.setValue("U.S.");
cell = cells.get("E16");
cell.setValue("Canada");
cell = cells.get("E17");
cell.setValue("U.S.");
cell = cells.get("E18");
cell.setValue("Italy");
cell = cells.get("E19");
cell.setValue("France");
cell = cells.get("E20");
cell.setValue("Italy");
cell = cells.get("E21");
cell.setValue("New Zealand");
cell = cells.get("E22");
cell.setValue("Australia");
cell = cells.get("E23");
cell.setValue("Australia");
cell = cells.get("E24");
cell.setValue("New Zealand");
cell = cells.get("E25");
cell.setValue("S.Africa");
cell = cells.get("E26");
cell.setValue("S.Africa");
cell = cells.get("E27");
cell.setValue("S.Africa");
cell = cells.get("E28");
cell.setValue("Egypt");
cell = cells.get("E29");
cell.setValue("Egypt");
cell = cells.get("E30");
cell.setValue("Egypt");
cell = cells.get("F2");
cell.setValue(2000);
cell = cells.get("F3");
cell.setValue(500);
cell = cells.get("F4");
cell.setValue(1200);
cell = cells.get("F5");
cell.setValue(1500);
cell = cells.get("F6");
cell.setValue(500);
cell = cells.get("F7");
cell.setValue(1500);
cell = cells.get("F8");
cell.setValue(800);
cell = cells.get("F9");
cell.setValue(900);
cell = cells.get("F10");
cell.setValue(500);
cell = cells.get("F11");
cell.setValue(1600);
cell = cells.get("F12");
cell.setValue(600);
cell = cells.get("F13");
cell.setValue(2000);
cell = cells.get("F14");
cell.setValue(500);
cell = cells.get("F15");
cell.setValue(900);
cell = cells.get("F16");
cell.setValue(700);
cell = cells.get("F17");
cell.setValue(1400);
cell = cells.get("F18");
cell.setValue(1350);
cell = cells.get("F19");
cell.setValue(300);
cell = cells.get("F20");
cell.setValue(500);
cell = cells.get("F21");
cell.setValue(1000);
cell = cells.get("F22");
cell.setValue(1500);
cell = cells.get("F23");
cell.setValue(1500);
cell = cells.get("F24");
cell.setValue(1600);
cell = cells.get("F25");
cell.setValue(1000);
cell = cells.get("F26");
cell.setValue(1200);
cell = cells.get("F27");
cell.setValue(1300);
cell = cells.get("F28");
cell.setValue(1500);
cell = cells.get("F29");
cell.setValue(1400);
cell = cells.get("F30");
cell.setValue(1000);
// إضافة ورقة جديدة عن طريق استدعاء طريقة الإضافة
var sheetIndex = workbook.getWorksheets().add();
// احصل على عنصر ورقة العمل في الفهرس المحدد.
var sheet2 = workbook.getWorksheets().get(sheetIndex);
// قم بتسمية الورقة عن طريق استدعاء طريقة setName
sheet2.setName("PivotTable");
// الحصول على المجموعة المحورية في الورقة
var pivotTables = sheet2.getPivotTables();
// أضف PivotTable إلى ورقة العمل عن طريق استدعاء طريقة الإضافة
var index = pivotTables.add("=Data!A1:F30", "B3", "PivotTable1");
// الحصول على مثيل PivotTable المضافة حديثًا
var pivotTable = pivotTables.get(index);
// اعرض الإجماليات الكلية بتعيين قيمة طريقة setRowGrand
pivotTable.setRowGrand(true);
// عيّن قيمة الأسلوب setColumnGrand الذي يشير إلى ما إذا كان تقرير PivotTable يعرض الإجماليات الكلية للأعمدة.
pivotTable.setColumnGrand(true);
// عيّن قيمة أسلوب setAutoFormat الذي يشير إلى ما إذا كان تقرير PivotTable قد تم تنسيقه تلقائيًا.
pivotTable.setAutoFormat(true);
// عيّن نوع التنسيق التلقائي PivotTable عن طريق استدعاء أسلوب setAutoFormatType
pivotTable.setAutoFormatType(aspose.cells.PivotTableAutoFormatType.REPORT_6);
// قم باستدعاء طريقة addFieldToArea لسحب الحقول الأول والثاني والثالث والرابع والخامس إلى منطقة الصف.
pivotTable.addFieldToArea(aspose.cells.PivotFieldType.ROW, 0);
pivotTable.addFieldToArea(aspose.cells.PivotFieldType.ROW, 2);
pivotTable.addFieldToArea(aspose.cells.PivotFieldType.ROW, 1);
pivotTable.addFieldToArea(aspose.cells.PivotFieldType.COLUMN, 3);
pivotTable.addFieldToArea(aspose.cells.PivotFieldType.DATA, 5);
// قم بتعيين تنسيق الرقم لحقل البيانات الأول عن طريق استدعاء طريقة getDataFields
pivotTable.getDataFields().get(0).setNumber(7);
// حفظ ملف Excel عن طريق استدعاء طريقة الحفظ
workbook.save( "pivotTable_test.xls");
قد ترى الإخراج في الصورة أدناه:
كيفية عمل مخطط محوري في Excel برمجيًا
الآن ، سنقوم بتنفيذ الوظيفة لإنشاء مخطط Pivot استنادًا إلى الجدول المحوري الذي تم إنشاؤه باستخدام Excel JavaScript API.
يمكنك اتباع الخطوات ومقتطف الشفرة المذكور أدناه:
- قم بإنشاء مثيل لفئة Workbook.
- استدعاء طريقة الإضافة add ورقة عمل إلى المجموعة.
- get عنصر ورقة العمل في الفهرس المحدد.
- قم بتسمية الورقة عن طريق استدعاء طريقة setName.
- أضف مخططًا عموديًا عن طريق استدعاء طريقة add.
- get عنصر المخطط في الفهرس المحدد.
- قم باستدعاء طريقة setPivotSource لتعيين مصدر بيانات المخطط المحوري.
- قم باستدعاء طريقة setHidePivotFieldButtons لإخفاء أزرار حقل المخطط المحوري فقط عندما يكون المخطط هو PivotChart.
- save ملف Excel.
انسخ الكود التالي والصقه في ملفك الرئيسي:
var aspose = aspose || {};
aspose.cells = require("aspose.cells");
// قم بإنشاء مثيل لفئة المصنف
var workbook = new aspose.cells.Workbook("pivotTable_test.xls");
// استدعاء طريقة الإضافة لإضافة ورقة عمل إلى المجموعة.
var sheetIndex = workbook.getWorksheets().add(aspose.cells.SheetType.CHART);
// احصل على عنصر ورقة العمل في الفهرس المحدد.
var sheet3 = workbook.getWorksheets().get(sheetIndex);
// قم بتسمية الورقة عن طريق استدعاء طريقة setName
sheet3.setName("PivotChart");
// أضف مخططًا عموديًا عن طريق استدعاء طريقة الإضافة
var chartIndex = sheet3.getCharts().add(aspose.cells.ChartType.COLUMN, 0, 5, 28, 16);
// احصل على عنصر المخطط في الفهرس المحدد.
var chart = sheet3.getCharts().get(chartIndex);
// قم باستدعاء طريقة setPivotSource لتعيين مصدر بيانات المخطط المحوري
chart.setPivotSource("PivotTable!PivotTable1");
// قم باستدعاء أسلوب setHidePivotFieldButtons لإخفاء أزرار حقل المخطط المحوري فقط عندما يكون المخطط هو PivotChart.
chart.setHidePivotFieldButtons(false);
// احفظ ملف Excel
workbook.save( "pivotChart_test.xls");
يظهر الإخراج في الصورة أدناه:
احصل على رخصة مجانية
يمكنك الاستفادة من رخصة مؤقتة مجانية لتجربة واجهة برمجة التطبيقات بدون قيود تقييمية.
تلخيص لما سبق
كما مررت من خلال واجهة برمجة تطبيقات Excel JavaScript على مستوى المؤسسة. بالإضافة إلى ذلك ، لقد تعلمت كيفية إنشاء جدول محوري في Excel باستخدام Node.js برمجيًا وقمنا أيضًا بتنفيذ الوظيفة لإنشاء مخطط Pivot. علاوة على ذلك ، يمكنك زيارة الوثائق لمعرفة الميزات الأخرى.
علاوة على ذلك ، نقترح عليك اتباع دليل البدء.
أخيرًا ، conholdate.com يكتب باستمرار منشورات مدونة جديدة. لذلك ، يرجى البقاء على اتصال للحصول على آخر التحديثات.
طرح سؤال
يمكنك إخبارنا بأسئلتك أو استفساراتك على المنتدى.
أسئلة وأجوبة
كيف تقوم بإنشاء PivotTable في Excel وتحريره؟
يمكنك تثبيت Excel JavaScript API لإنشاء PivotTable في Excel برمجيًا. بالإضافة إلى ذلك ، يمكنك زيارة هذا الرابط للحصول على الخطوات ومقتطف الشفرة.