Tablolarla Çalışmak
Tablolarla Çalışmak
Aspose.Cells FOSS for Java supports Excel tables (also known as ListObjects or Yapılandırılmış referanslar). Yeni tablolar hücre aralığından oluşturabilirsiniz, kontrol edin mevcut tablolar, başlık ve toplam satırları ayarlayın, yerleşik tablo stillerini uygulayın, Bireysel sütunlara erişmek ve tabloları normal aralıklarına dönüştürmek. giriş noktası ListObjectCollection, aracılığıyla erişimi Worksheet.getListObjects().
Overview
Bir çalışma tablosu ile yönetilebilir bir çalışma sayfasında, ListObjectCollection Geri döndü Worksheet.getListObjects().Her biri ListObject Excel tablosu ve görüntüleme adı, yorum, hücre aralığı sınırları, sütun koleksiyonu, tarzı gösterir Sürümler ve başlık / toplam sırası görünürlük.
Yeni bir tablo oluşturuldu. ListObjectCollection.add(startRow, startColumn, endRow, endColumn, hasHeaders), Yeni oluşturulan tabloya sıfır tabanlı endeksini geri getirir. alternatif Yüklenme hücre adı çubukları kabul eder: ListObjectCollection.add(startCellName, endCellName, hasHeaders).
Ana Sınıflar
| Class | Description |
|---|---|
ListObject | Tek bir Excel tablosu temsil eder. getDisplayName(), getComment(), aralığı koordinatları, sütun koleksiyonu, stil tipi ve başlık / toplam satır görünürlüğü. |
ListObjectCollection | Tüm tabloların bir çalışma sayfası üzerinde toplanması. destekler getCount(), indekslenmiş ve arama adıyla get(), add(), remove(),ve stil-tip dönüşüm yardımcısı. |
ListColumn | Bir tablo içinde bir sütun temsil eder. sütunun kimliğini, adını ve toplam-kırmızı hesaplama ayarlarını gösterir. |
ListColumnCollection | Bir tablo içinde sütunların sipariş edilen koleksiyonu. sayma ve indeksleme erişimi ile iterable. |
TableStyleType | Enum, bir Excel tablo tarzını tanımlar (Light 1–21, Medium 1–28, Dark 1–11, veya Custom/None). |
TotalsCalculation | Bir tablo toplam satırında birleşme fonksiyonu için enum (SUM, COUNT, AVERAGE, MAX, MIN, STD_DEV, VAR, COUNT_NUMS, CUSTOM, NONE). |
Bir çalışma sayfasındaki tabloya erişim
Retrieve için ListObjectCollection Herhangi bir Worksheet yolda Worksheet.getListObjects().• Kullanım ListObjectCollection.getCount() belirlemek için Kaç tablo var. bireysel tablolar sıfır tabanlı endeks tarafından erişilebilir ListObjectCollection.get(index) Adı: Gösterim adına 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());
}Yeni bir masa oluşturmak
Kullanımı ListObjectCollection.add() Bir tablo üzerinde bir hücre aralığı yerleştirmek için. hasHeaders Parametre, aralığın ilk satırının içerdiğini gösterir. Sütun başlıkları.
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");Tablo Özellikleri Kontrolü
Bir kez tutarsanız bir ListObject Okuduğunuz referans:
ListObject.getDisplayName()- Tabloların görüntüleme adı çubuğu.ListObject.getComment()- Tablo ile ilişkili seçmeli bir yorum.ListObject.getStartRow()/ListObject.getStartColumn()- Masa aralığının sol üst hücresi.ListObject.getEndRow()/ListObject.getEndColumn()- Tablo aralığının sağ alt hücresi.ListObject.isShowHeaderRow()- Başlık satırının görülebilir olup olmadığı.ListObject.isShowTotals()- Toplam satırın görülebilir olup olmadığı.ListObject.getListColumns()- OListColumnCollectionMasaya göre .
Stili Tabloları
Bir tablo tarzı kullanarak uygulayın ListObject.setTableStyleType(TableStyleType). O zamanlar TableStyleType Enum ışık (1–21), orta (1 – 28) ve karanlık (1-11) içerir. Variantlar Plus NONE ve CUSTOM.
ListObject table = ws.getListObjects().get(0);
table.setTableStyleType(TableStyleType.TABLE_STYLE_MEDIUM_2);Ek tarz toggles kontrol bandalı satırlar, bandlı sütunlar ve ilk / son sütunun vurgusu:
ListObject.setShowTableStyleRowStripes(boolean)ListObject.setShowTableStyleColumnStripes(boolean)ListObject.setShowTableStyleFirstColumn(boolean)ListObject.setShowTableStyleLastColumn(boolean)
Ayrıca özel bir stil adı da ayarlayabilirsiniz. ListObject.setTableStyleName(String).
Yardımcı yöntemler ListObjectCollection.parseTableStyleType(String) ve ListObjectCollection.tableStyleTypeName(TableStyleType) Konvertörler arasında Enum ve çizgi temsilcisi.
Tablo Kolonları ile Çalışma
Bireysel sütunlar aracılığıyla erişim ListObject.getListColumns(),A’ya geri dönen ListColumnCollection.Her biri ListColumn Gösteriler :
ListColumn.getId()- Tek tabanlı OOXML sütun tanımlayıcısı.ListColumn.getName()/ListColumn.setName(String)- Sütun başlık metni.ListColumn.getTotalsCalculation()/ListColumn.setTotalsCalculation(TotalsCalculation)- Toplam satır için birleşme fonksiyonu.ListColumn.getTotalsRowLabel()/ListColumn.setTotalsRowLabel(String)- Toplam satırda bir etiket.ListColumn.getTotalsRowFormula()/ListColumn.setTotalsRowFormula(String)- Toplam satır için özel bir formül.
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());
}Totals Row’u ayarlayın
Toplam aralığı ile yapabiliriz. ListObject.setShowTotals(true),* Seti per-column olarak ayarlayın Toplama fonksiyonları ile kullanılır TotalsCalculation Enum için.
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");Tabloları yeniden dönüştürmek ve dönüştürebilirsiniz.
Bir tabloyu farklı bir hücre aralığını kapsayarak yeniden oluşturun. ListObject.resize(startRow, startColumn, endRow, endColumn, hasHeaders).
Bir tablo normal bir hücre aralığına dönüştürmek ile ListObject.convertToRange(). Bu, tabloların yapısını kaldırır ve hücre verilerini korur ve biçimlendirir.
Bir tablo ile koleksiyonun tamamen çıkarın. ListObjectCollection.removeAt(index).
Tablolarda otomatik filtre
Bir tablo üzerinde otomatik filtreleme çubukları aşağıdaki sütunları göstermek veya kaldırmak:
ListObject.showAutoFilter()- Filtre çubukları başlık satırında gösterilir.ListObject.removeAutoFilter()Filtre çubuklarını saklayın.
API Referans Özetleri
ListObject
| Method | Geri Dönüş Türü | Description |
|---|---|---|
getDisplayName() | String | Tablo adı gösteriliyor. |
setDisplayName(name) | void | Gösterim Adını Belirleyin. |
getComment() | String | Tablo için seçmeli yorum. |
setComment(comment) | void | Tablo yorumları yapın. |
getStartRow() | int | Tablo aralığının sırası indeksleri başlatın. |
getStartColumn() | int | Tablo aralığının sütun indeksi başlatın. |
getEndRow() | int | Tablo aralığının son satır endeksi. |
getEndColumn() | int | Tablo aralığının son sütun endeksi. |
isShowHeaderRow() | boolean | Başlık çizgisi görülebilir mi?. |
setShowHeaderRow(show) | void | Başlık çizgisini gösterir veya gizler. |
isShowTotals() | boolean | Toplam çizginin görülebileceği anlamına gelir. |
setShowTotals(show) | void | Tüm satırları gösterir veya gizler. |
getTableStyleType() | TableStyleType | İçinde bir masa tarzı. |
setTableStyleType(type) | void | Bu tablo bir tablosu içerir. |
getTableStyleName() | String | Özel masa tarzı adı. |
setTableStyleName(name) | void | Bir tablo tarzı adı oluşturun. |
getListColumns() | ListColumnCollection | Tablo kolonu koleksiyonu. |
resize(...) | void | Tabloyu yeni bir aralığa dönüştürün. |
convertToRange() | void | Tabloyu normal bir aralığa dönüştürür. |
showAutoFilter() | void | Otomatik filtre çubukları gösterir. |
removeAutoFilter() | void | Auto-filter çubukları ile yapıştırılır. |
ListObjectCollection
| Method | Geri Dönüş Türü | Description |
|---|---|---|
getCount() | int | Tablo sayısı çalışma sayfası. |
get(index) | ListObject | Tabloyu verilen sıfır tabanlı endeksine geri getirir. |
get(name) | ListObject | Gösterim Adı ile Tablo’yu Geri Dönüyor. |
add(startRow, startColumn, endRow, endColumn, hasHeaders) | int | Yeni bir tablo oluşturur; indeksleri geri getirir. |
add(startCellName, endCellName, hasHeaders) | int | Yeni bir tablo oluşturur hücre adlarından; indeksleri geri getirir. |
removeAt(index) | void | Gönderilen indekslere tablo kaldırın. |
parseTableStyleType(name) | TableStyleType | Bir çubuk bir çubuğa dönüştürür TableStyleType Enum değerleri. |
tableStyleTypeName(type) | String | dönüştürücü a TableStyleType Sırt adı ile ilgili. |
ListColumn
| Method | Geri Dönüş Türü | Description |
|---|---|---|
getId() | int | Tek tabanlı OOXML sütun tanımlayıcısı. |
getName() | String | Kolon başlık metin. |
setName(name) | void | Sütun başlık metni oluşturur. |
getTotalsCalculation() | TotalsCalculation | Toplam aralıklı agregasyon fonksiyonu. |
setTotalsCalculation(calc) | void | Toplam grup toplama yaptırın. |
getTotalsRowLabel() | String | Toplamda etiketler listelenir. |
setTotalsRowLabel(label) | void | Tüm etiketleri sıradan etkiyi oluşturun. |
getTotalsRowFormula() | String | Toplam satır için özelleştirilmiş formül. |
setTotalsRowFormula(formula) | void | Tüm formülü birleştirin. |
Limitations
- Tablo veri bağlantıları ayrı olarak değiştirilemez; tablo aralığını kapsamaktadır. Yaratma süresi belirlenmiştir. kullanımı
resize()Kapalı aralıkları ayarlayın. - Tablo tarzları, bunları referanslamadan önce çalışma kitabında tanımlanmalıdır. Adı: Via
setTableStyleName().