Ana içeriğe geç

Şablonlardaki Tablolar - Dinamik Tablo Kılavuzu

Tablolar, profesyonel belgelerin temel bileşenleridir ve verilerin kolay karşılaştırma, referans ve analiz için yapılandırılmış bir sunumunu sağlarlar. PDF4meBelge oluşturma motorumuz, kaynaklarınızdan gelen verilerle doldurulmuş dinamik tabloları verimli bir şekilde oluşturur.


Çok Sütunlu Tablo Yapısı

Tablo hücrelerinde birleştirme alanları tanımlayarak çok sütunlu tablolar oluşturun. Her satır, veri toplama işlemine bağlı olarak tekrarlanır.

Temel Tablo Sözdizimi

Tablo yapısını oluşturun. Word Aşağıdaki kalıba sahip şablon:

Column 1: <<foreach [product in products]>><<[product.productName]>>
Column 2: <<[product.manufactured]:"yyyy.MM.dd">>
Column 3: <<[product.price]>><</foreach>>

Şablon Yapısı:

  1. Tablo oluşturun Word istenen sütun sayısı ile
  2. foreach döngüsünü ilk hücreye yerleştirin.
  3. Aynı satırdaki ardışık hücrelere birleştirme alanları ekleyin.
  4. Son hücredeki foreach döngüsünü kapatın.

Örnek: Ürün Stok Tablosu

Veri Kaynağı (JSON):

{
"vendorName": "Instamart",
"products": [
{
"productName": "Laptops",
"price": 160000,
"manufactured": "25/07/2022"
},
{
"productName": "Keyboard",
"price": 10000,
"manufactured": "12/04/2022"
},
{
"productName": "Speakers",
"price": 25000,
"manufactured": "08/05/2022"
}
]
}

Oluşturulan Çıktı:

Ürün AdıÜretildiFiyat
Dizüstü bilgisayarlar25.07.2022160000
Klavye2022.04.1210000
Konuşmacılar2022.05.0825000

Tablo Hesaplamaları ve Toplamlar

Tablo yapılarınız içinde toplamlar, ortalamalar ve sayılar gibi toplu değerleri, numaralandırma yöntemlerini kullanarak hesaplayın.

Toplam Hesaplama

Sayısal sütunların toplamını hesaplamak için bir toplam satırı ekleyin:

Column 1: <<foreach [product in products]>><<[product.productName]>>
Column 2: <<[product.manufactured]:"yyyy.MM.dd">>
Column 3: <<[product.price]>><</foreach>>
Column 1: Total
Column 2:
Column 3: $<<[products.Sum(c => c.price)]>>

Oluşturulan Çıktı:

Ürün AdıÜretildiFiyat
Dizüstü bilgisayarlar25.07.2022160000
Klavye2022.04.1210000
Konuşmacılar2022.05.0825000
Toplam195.000 dolar

Diğer Toplama Fonksiyonları

Ortalama:

Average Price: $<<[products.Average(p => p.price)]:"F2">>

Saymak:

Total Products: <<[products.Count()]>>

Maksimum:

Highest Price: $<<[products.Max(p => p.price)]>>

Minimum:

Lowest Price: $<<[products.Min(p => p.price)]>>

Tek Sütunlu Tablolar

Her satırında birden fazla bilgi satırı bulunan tek sütunlu tablolar oluşturun. Bunun için şunu kullanın: -greedy Her koleksiyon öğesinin bir satırda yer almasını sağlamak için ayarı değiştirin.

Tek Sütunlu Şablon Sözdizimi

<<foreach [product in products]>>Product: <<[product.productName]>>, Manufactured On: <<[product.manufactured]:"yyyy.MM.dd">>, Product Price: $<<[product.price]>><</foreach -greedy>>

Önemli Nokta: O -greedy Bu switch ifadesi, tüm içerik bloğunu tek bir satır olarak ele alarak istenmeyen satır sonlarını önler.

Oluşturulan Çıktı:

Ürün Detayları
Ürün: Dizüstü Bilgisayarlar, Üretim Tarihi: 25.07.2022, Ürün Fiyatı: 160.000 $
Ürün: Klavye, Üretim Tarihi: 12.04.2022, Ürün Fiyatı: 10.000 $
Ürün: Hoparlörler, Üretim Tarihi: 08.05.2022, Ürün Fiyatı: 25.000 $

Gelişmiş Tablo Örnekleri

Örnek 1: Fatura Kalemleri Tablosu

Şablon:

Item | Description | Qty | Unit Price | Total
<<foreach [item in lineItems]>><<[item.code]>> | <<[item.description]>> | <<[item.quantity]>> | $<<[item.unitPrice]:"F2">> | $<<[item.quantity * item.unitPrice]:"F2">><</foreach>>
| | | Subtotal: | $<<[lineItems.Sum(i => i.quantity * i.unitPrice)]:"F2">>

Örnek 2: Çalışan Rehberi Tablosu

Şablon:

Name | Department | Email | Phone
<<foreach [emp in employees.OrderBy(e => e.lastName)]>><<[emp.firstName]>> <<[emp.lastName]>> | <<[emp.department]>> | <<[emp.email]>> | <<[emp.phone]>><</foreach>>
Total Employees: <<[employees.Count()]>>

Örnek 3: Satış Raporu Tablosu

Şablon:

Month | Revenue | Expenses | Profit
<<foreach [month in salesData]>><<[month.name]>> | $<<[month.revenue]:"F2">> | $<<[month.expenses]:"F2">> | $<<[month.revenue - month.expenses]:"F2">><</foreach>>
Annual Total | $<<[salesData.Sum(m => m.revenue)]:"F2">> | $<<[salesData.Sum(m => m.expenses)]:"F2">> | $<<[salesData.Sum(m => m.revenue - m.expenses)]:"F2">>

Koşullu Tablo Satırları

Veri özelliklerine veya iş mantığına bağlı olarak tablo satırlarını koşullu olarak oluşturun.

Filtrelenmiş Satırlar

Şablon:

Product | Stock Status
<<foreach [product in products.Where(p => p.inStock == true)]>>
<<[product.name]>> | Available
<</foreach>>

Koşullu Biçimlendirme

Şablon:

Employee | Status
<<foreach [emp in employees]>>
<<[emp.name]>> | <<if [emp.active]>>Active<<else>>Inactive<</if>>
<</foreach>>

Tablo Biçimlendirme En İyi Uygulamaları

Tasarım Yönergeleri

  1. Başlık satırları - Açık ve açıklayıcı sütun başlıkları oluşturun
  2. Tutarlı hizalama - Sayısal verileri sağa, metin verilerini sola hizala
  3. Uygun genişlikler - Beklenen içeriğe göre sütun genişliklerini ayarlayın.
  4. Biçimlendirme - Biçimlendirme (kenarlıklar, gölgelendirme) uygulayın. Word şablon
  5. Toplam sıralama - Toplam hesaplamaları uygun özet satırlarına yerleştirin.

Veri Hazırlığı

  1. Temiz veri - Şablon işleme başlamadan önce verilerin doğru formatta olduğundan emin olun.
  2. Boş değerleri ele alın - Boş alanlar için varsayılan değerler sağlayın.
  3. Satır sayısını sınırla - Çok büyük veri kümeleri için sayfalama özelliğini göz önünde bulundurun.
  4. Verileri sırala - Verileri önceden sıralayın veya şablonlarda OrderBy kullanın.

Karmaşık Tablo Yapıları

Çok Seviyeli Gruplandırma

Şablon:

Category | Product | Price
<<foreach [cat in categories]>>
<<[cat.name]>> | |
<<foreach [prod in cat.products]>>
| <<[prod.name]>> | $<<[prod.price]>>
<</foreach>>
| Category Total | $<<[cat.products.Sum(p => p.price)]>>
<</foreach>>

Koşullu Bölümlere Sahip Tablolar

Şablon:

Item | Quantity | Price | Discount | Total
<<foreach [item in orderItems]>>
<<[item.name]>> | <<[item.qty]>> | $<<[item.price]>> | <<if [item.discount > 0]>><<[item.discount]>>%<<else>>-<</if>> | $<<[item.total]>>
<</foreach>>

Özel Masa Özellikleri

Açgözlü Anahtar Kullanımı

O -greedy Bu anahtar, içeriğin tablo hücrelerine nasıl dağıtılacağını kontrol eder:

Açgözlülük olmadan: Her özellik yeni bir satır oluşturabilir. -Greed ile: Tüm içerik bloğu tek bir satırda kalır.

Örnek:

<<foreach [item in items]>>
<<[item.prop1]>>, <<[item.prop2]>>, <<[item.prop3]>>
<</foreach -greedy>>

Dikey Birleştirme

Birden fazla satıra yayılması gereken hücreler için hücre birleştirmeyi şu şekilde ayarlayın: Word Birleştirme alanlarını eklemeden önce şablonu oluşturun.


Sorun Giderme Tablosu Oluşturma

Sık Karşılaşılan Sorunlar ve Çözümler

Sorun: Tablo satırları doğru şekilde tekrarlanmıyor.
Çözüm: foreach döngüsünün satırdaki tüm hücreleri kapsadığından emin olun.

Sorun: İstenmeyen fazladan satırlar
Çözüm: Kullanmak -greedy tek satırlı içerik için anahtar

Sorun: Yanlış hesaplamalar
Çözüm: İfade sözdizimini ve veri türlerini doğrulayın.

Sorun: Biçimlendirme, üretimden sonra kayboldu.
Çözüm: Biçimlendirmeyi yalnızca birleştirme alanı sözdizimine değil, şablon hücrelerine de uygulayın.

Sorun: Veri mevcut olduğunda tablolar boş bırakılıyor.
Çözüm: Özellik adlarının veri kaynağıyla tam olarak eşleştiğini kontrol edin.


Örnek: Satış Faturası

Şablon:

Invoice Date: <<[invoiceDate]:"MMMM dd, yyyy">>
Customer: <<[customerName]:caps>>

Item No. | Description | Qty | Unit Price | Amount
<<foreach [item in lineItems]>>
<<[item.itemNo]>> | <<[item.description]>> | <<[item.quantity]>> | $<<[item.unitPrice]:"F2">> | $<<[item.quantity * item.unitPrice]:"F2">>
<</foreach>>
| | | Subtotal: | $<<[lineItems.Sum(i => i.quantity * i.unitPrice)]:"F2">>
| | | Tax (10%): | $<<[lineItems.Sum(i => i.quantity * i.unitPrice) * 0.10]:"F2">>
| | | **Total:** | **$<<[lineItems.Sum(i => i.quantity * i.unitPrice) * 1.10]:"F2">>**

:::İpucu Masa Tasarımı Masa yapınızı tasarlayın Word Öncelikle uygun biçimlendirme, kenarlıklar ve stillendirme ile başlayın. Ardından, en iyi sonuçlar için tasarlanan tabloya birleştirme alanları ve foreach döngüleri ekleyin.

:::