العمل مع الجداول

العمل مع الجداول

Aspose.Cells FOSS for Java supports Excel tables (also known as ListObjects or يمكنك إنشاء جداول جديدة من نطاق الخلايا، فحص الجداول الموجودة، وتهيئة صفوف العنوان والجملات، واستخدام أنماط الجدول المدمجة., الوصول إلى الأعمدة الفردية، وتحويل الجداول مرة أخرى إلى نطاقات طبيعية. نقطة الدخول هي: ListObjectCollection,، يمكن الوصول إليها عبر: Worksheet.getListObjects().


نظرة عامة

يتم إدارة الجداول على ورقة العمل من خلال الموقع الإلكتروني. ListObjectCollection أعادها Worksheet.getListObjects().كل واحد منهم ListObject يمثل جدول Excel واحد و يعرض اسم العرض، التعليق، حدود نطاق الخلايا، مجموعة الأعمدة، النمط الإعدادات، ومرئية صفوف العنوان/المجموع.

يتم إنشاء جدول جديد مع ListObjectCollection.add(startRow, startColumn, endRow, endColumn, hasHeaders), الذي يعيد المؤشر القائم على الصفر للجدول الجديد. بديل الإفراط في التحميل يقبل سلسلة أسماء الخلايا: ListObjectCollection.add(startCellName, endCellName, hasHeaders).


الدرجات الرئيسية

الفئةوصف
ListObjectيمثل جدول Excel واحد. يوضح getDisplayName(), getComment(),، إحداثيات النطاق، مجموعة الأعمدة، نوع الأسلوب، ومرئية صفوف الرأس/المجموعات.
ListObjectCollectionمجموعة من جميع الجداول على ورقة عمل. الدعم getCount(),، المفهرسة والبحث عن الاسم عبر get(), add(), remove(),، ومساعدات التحويل النمطية.
ListColumnيمثل عمود واحد داخل الجدول. يعرض تعريف العمود، والاسم، وإعدادات حساب صف المجموعات.
ListColumnCollectionمجموعة من الأعمدة في الجدول. قابلة للتكرار مع الوصول إلى العدد والفهرس.
TableStyleTypeإينوم الذي يحدد نمط جدول Excel المدمج (Light 121، Medium 1 ??28، Dark 1 11 أو Custom/None).
TotalsCalculationعدد للوظيفة التجميعية في صف المجموعات للجدول (SUM، COUNT، AVERAGE، MAX، MIN، STD_DEV، VAR، Count_NUMS، CUSTOM، NONE).

الوصول إلى الجداول على ورقة عمل

استعادة الملفات ListObjectCollection من أيّ Worksheet عبر Worksheet.getListObjects().استخدمها . ListObjectCollection.getCount() لتحديد عدد الجداول الموجودة. يتم الوصول إلى الجدول الفردية عن طريق المؤشر القائم على الصفر من خلال ListObjectCollection.get(index) أو عن طريق العرض من خلال اسم ListObjectCollection.get(name).

Workbook wb = new Workbook("input.xlsx");
WorksheetCollection sheets = wb.getWorksheets();
Worksheet ws = sheets.get(0);
ListObjectCollection tables = ws.getListObjects();

for (int i = 0; i < tables.getCount(); i++) {
    ListObject table = tables.get(i);
    System.out.println("Table: " + table.getDisplayName()
        + " rows: " + table.getStartRow() + "-" + table.getEndRow());
}

إنشاء طاولة جديدة

استخدام ListObjectCollection.add() لإدراج جدول على نطاق الخلايا. hasHeaders المعيار يشير إلى ما إذا كان الصف الأول من النطاق يحتوي على: رؤوس الأعمدة.

Workbook wb = new Workbook();
WorksheetCollection sheets = wb.getWorksheets();
Worksheet ws = sheets.get(0);

// Populate data
ws.getCells().get("A1").putValue("Product");
ws.getCells().get("B1").putValue("Quantity");
ws.getCells().get("A2").putValue("Widget");
ws.getCells().get("B2").putValue(100);

// Create table over A1:B2 with headers in row 0
int tableIndex = ws.getListObjects().add(0, 0, 1, 1, true);
ListObject table = ws.getListObjects().get(tableIndex);
table.setDisplayName("SalesTable");

فحص خصائص الجدول

بمجرد أن تمسك بـ… ListObject الإشارة التي يمكنك قراءتها:

  • ListObject.getDisplayName() سلسلة اسم العرض للجدول.
  • ListObject.getComment() تعليق اختياري مرتبط بالجدول.
  • ListObject.getStartRow() / ListObject.getStartColumn() الخلية العليا اليسرى من مجموعة الجدول.
  • ListObject.getEndRow() / ListObject.getEndColumn() الخلية الأدنى اليمنى من نطاق الجدول.
  • ListObject.isShowHeaderRow() ما إذا كان صف الرأس مرئيًا.
  • ListObject.isShowTotals() ما إذا كان صف المجموعات مرئيًا.
  • ListObject.getListColumns() المنتدى ListColumnCollection من أجل الطاولة.

طاولات التصميم

تطبيق نمط جدول مدمج باستخدام: ListObject.setTableStyleType(TableStyleType). المجلس الوزاري TableStyleType enum يشمل الضوء (121) ، والمتوسط (1 ??28) ، والأظلام (1 11) المتغيرات بالإضافة إلى ذلك NONE و CUSTOM.

ListObject table = ws.getListObjects().get(0);
table.setTableStyleType(TableStyleType.TABLE_STYLE_MEDIUM_2);

تغييرات نمط إضافية للسيطرة على الصفوف المخطوطة، الأعمدة المصفوفة والتركيز على العمود الأول/الأخير:

  • ListObject.setShowTableStyleRowStripes(boolean)
  • ListObject.setShowTableStyleColumnStripes(boolean)
  • ListObject.setShowTableStyleFirstColumn(boolean)
  • ListObject.setShowTableStyleLastColumn(boolean)

يمكنك أيضا تعيين اسم نمط مخصص مع ListObject.setTableStyleName(String).

طرق مساعدة ListObjectCollection.parseTableStyleType(String) و ListObjectCollection.tableStyleTypeName(TableStyleType) تحويل بين enum وتمثيل السلسلة.


العمل مع أعمدة الجدول

الوصول إلى الأعمدة الفردية من خلال: ListObject.getListColumns(),، والذي يعيد a ListColumnCollection.كل واحد منهم ListColumn يُعرض:

  • ListColumn.getId() معرف العمود OOXML المستند إلى قاعدة واحدة.
  • ListColumn.getName() / ListColumn.setName(String) نص رأس العمود.
  • ListColumn.getTotalsCalculation() / ListColumn.setTotalsCalculation(TotalsCalculation) وظيفة التجميع لصف المجموعات.
  • ListColumn.getTotalsRowLabel() / ListColumn.setTotalsRowLabel(String) علامة مخصصة في صف المجموعات.
  • ListColumn.getTotalsRowFormula() / ListColumn.setTotalsRowFormula(String) صيغة مخصصة لصف المجموعات.
ListObject table = ws.getListObjects().get(0);
ListColumnCollection columns = table.getListColumns();
for (int i = 0; i < columns.getCount(); i++) {
    ListColumn col = columns.get(i);
    System.out.println("Column " + col.getId() + ": " + col.getName());
}

تهيئة صف المجموعات

تمكين صف المجموعات مع ListObject.setShowTotals(true),، ثم تحديد لكل عمود وظائف التجميع باستخدام TotalsCalculation -أجل .

ListObject table = ws.getListObjects().get(0);
table.setShowTotals(true);

ListColumn qtyColumn = table.getListColumns().get(1);
qtyColumn.setTotalsCalculation(TotalsCalculation.SUM);

ListColumn labelColumn = table.getListColumns().get(0);
labelColumn.setTotalsRowLabel("Total");

تغيير حجم الجداول وتحويلها

قم بإعادة حجم الجدول لتغطية نطاق خلية مختلف باستخدام: ListObject.resize(startRow, startColumn, endRow, endColumn, hasHeaders).

تحويل الجدول إلى نطاق خلية طبيعي باستخدام: ListObject.convertToRange(). هذا يزيل هيكل الجدول مع الحفاظ على بيانات الخلية وتنسيقها.

إزالة جدول بالكامل من المجموعة باستخدام: ListObjectCollection.removeAt(index).


تصفية تلقائية على الطاولات

عرض أو إزالة الأسهم المنسدلة للتصفية التلقائية على الجدول:

  • ListObject.showAutoFilter() عرض أسهم المرشح على صف الرأس.
  • ListObject.removeAutoFilter() إخفاء أسهم المرشح.

إشارة API

ListObject

طريقةنوع الإرجاعوصف
getDisplayName()Stringعرض اسم الطاولة.
setDisplayName(name)voidيحدد اسم العرض.
getComment()Stringتعليق اختياري للجدول.
setComment(comment)voidيضع تعليق الطاولة.
getStartRow()intمؤشر الصف الأول لمجموعة الجدول.
getStartColumn()intمؤشر عمود البداية لمجموعة الجدول.
getEndRow()intمؤشر نهاية الصفوف لمجموعة الجدول.
getEndColumn()intمؤشر العمود النهائي لمجموعة الجدول.
isShowHeaderRow()booleanما إذا كان صف الرأس مرئيًا.
setShowHeaderRow(show)voidيظهر أو يخفي صف الرأس.
isShowTotals()booleanما إذا كان صف المجموعات مرئيًا.
setShowTotals(show)voidيظهر أو يخفي صف المجموعات.
getTableStyleType()TableStyleTypeالطاولة المدمجة في النمط.
setTableStyleType(type)voidيطبق نمط الطاولة المدمج.
getTableStyleName()Stringاسم طراز الطاولة المخصص.
setTableStyleName(name)voidيضع اسم نمط جدول مخصص.
getListColumns()ListColumnCollectionمجموعة الأعمدة في الطاولة.
resize(...)voidيغير حجم الطاولة إلى نطاق جديد.
convertToRange()voidيحول الجدول إلى نطاق طبيعي.
showAutoFilter()voidيظهر سهم التصفية الآلية.
removeAutoFilter()voidيخفي السهام التصفية تلقائياً.

ListObjectCollection

طريقةنوع الإرجاعوصف
getCount()intعدد الجداول على ورقة العمل.
get(index)ListObjectيعيد الجدول عند المؤشر المحدد على أساس الصفر.
get(name)ListObjectيعيد الجدول مع اسم العرض المحدد.
add(startRow, startColumn, endRow, endColumn, hasHeaders)intيخلق جدول جديد، يعيد فهرسه.
add(startCellName, endCellName, hasHeaders)intيخلق جدولًا جديدًًة من أسماء الخلايا؛ يعيد فهرسها.
removeAt(index)voidيزيل الجدول في المؤشر المحدد.
parseTableStyleType(name)TableStyleTypeيحول سلسلة إلى a TableStyleType قيمة enum.
tableStyleTypeName(type)Stringتحويل a TableStyleType enum إلى اسم السلسلة.

ListColumn

طريقةنوع الإرجاعوصف
getId()intمعرف عمود OOXML على أساس واحد.
getName()Stringنص رأس العمود.
setName(name)voidيضع نص رأس العمود.
getTotalsCalculation()TotalsCalculationوظيفة تجميع صفوف المجموعات.
setTotalsCalculation(calc)voidيضع مجموع صفوف المجموعات.
getTotalsRowLabel()Stringعلامة مخصصة في صف المجموعات.
setTotalsRowLabel(label)voidيضع علامة صف المجموعات.
getTotalsRowFormula()Stringصيغة مخصصة لصف المجموعات.
setTotalsRowFormula(formula)voidيضع صيغة صف المجموعات.

القيود

  • لا يمكن تعديل ربط بيانات الجدول بشكل منفصل؛ يغطي الجداول النطاق: المحددة في وقت الإنشاء. استخدام resize() لتعديل المدى الذي يغطيه.
  • يجب تحديد أنماط الجدول المخصصة في دفتر العمل قبل الإشارة إليها. بالاسم عبر: setTableStyleName().

انظر أيضا

 العربية