العمل مع الجداول
العمل مع الجداول
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().