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

ClassDescription
ListObjectTek 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üğü.
ListObjectCollectionTü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ı.
ListColumnBir tablo içinde bir sütun temsil eder. sütunun kimliğini, adını ve toplam-kırmızı hesaplama ayarlarını gösterir.
ListColumnCollectionBir tablo içinde sütunların sipariş edilen koleksiyonu. sayma ve indeksleme erişimi ile iterable.
TableStyleTypeEnum, bir Excel tablo tarzını tanımlar (Light 1–21, Medium 1–28, Dark 1–11, veya Custom/None).
TotalsCalculationBir 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() - O ListColumnCollection Masaya 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

MethodGeri Dönüş TürüDescription
getDisplayName()StringTablo adı gösteriliyor.
setDisplayName(name)voidGösterim Adını Belirleyin.
getComment()StringTablo için seçmeli yorum.
setComment(comment)voidTablo yorumları yapın.
getStartRow()intTablo aralığının sırası indeksleri başlatın.
getStartColumn()intTablo aralığının sütun indeksi başlatın.
getEndRow()intTablo aralığının son satır endeksi.
getEndColumn()intTablo aralığının son sütun endeksi.
isShowHeaderRow()booleanBaşlık çizgisi görülebilir mi?.
setShowHeaderRow(show)voidBaşlık çizgisini gösterir veya gizler.
isShowTotals()booleanToplam çizginin görülebileceği anlamına gelir.
setShowTotals(show)voidTüm satırları gösterir veya gizler.
getTableStyleType()TableStyleTypeİçinde bir masa tarzı.
setTableStyleType(type)voidBu tablo bir tablosu içerir.
getTableStyleName()StringÖzel masa tarzı adı.
setTableStyleName(name)voidBir tablo tarzı adı oluşturun.
getListColumns()ListColumnCollectionTablo kolonu koleksiyonu.
resize(...)voidTabloyu yeni bir aralığa dönüştürün.
convertToRange()voidTabloyu normal bir aralığa dönüştürür.
showAutoFilter()voidOtomatik filtre çubukları gösterir.
removeAutoFilter()voidAuto-filter çubukları ile yapıştırılır.

ListObjectCollection

MethodGeri Dönüş TürüDescription
getCount()intTablo sayısı çalışma sayfası.
get(index)ListObjectTabloyu verilen sıfır tabanlı endeksine geri getirir.
get(name)ListObjectGösterim Adı ile Tablo’yu Geri Dönüyor.
add(startRow, startColumn, endRow, endColumn, hasHeaders)intYeni bir tablo oluşturur; indeksleri geri getirir.
add(startCellName, endCellName, hasHeaders)intYeni bir tablo oluşturur hücre adlarından; indeksleri geri getirir.
removeAt(index)voidGönderilen indekslere tablo kaldırın.
parseTableStyleType(name)TableStyleTypeBir çubuk bir çubuğa dönüştürür TableStyleType Enum değerleri.
tableStyleTypeName(type)Stringdönüştürücü a TableStyleType Sırt adı ile ilgili.

ListColumn

MethodGeri Dönüş TürüDescription
getId()intTek tabanlı OOXML sütun tanımlayıcısı.
getName()StringKolon başlık metin.
setName(name)voidSütun başlık metni oluşturur.
getTotalsCalculation()TotalsCalculationToplam aralıklı agregasyon fonksiyonu.
setTotalsCalculation(calc)voidToplam grup toplama yaptırın.
getTotalsRowLabel()StringToplamda etiketler listelenir.
setTotalsRowLabel(label)voidTüm etiketleri sıradan etkiyi oluşturun.
getTotalsRowFormula()StringToplam satır için özelleştirilmiş formül.
setTotalsRowFormula(formula)voidTü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().

See Also

 Türkçe