Ş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ı:
- Tablo oluşturun Word istenen sütun sayısı ile
- foreach döngüsünü ilk hücreye yerleştirin.
- Aynı satırdaki ardışık hücrelere birleştirme alanları ekleyin.
- 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ı | Üretildi | Fiyat |
|---|---|---|
| Dizüstü bilgisayarlar | 25.07.2022 | 160000 |
| Klavye | 2022.04.12 | 10000 |
| Konuşmacılar | 2022.05.08 | 25000 |
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ı | Üretildi | Fiyat |
|---|---|---|
| Dizüstü bilgisayarlar | 25.07.2022 | 160000 |
| Klavye | 2022.04.12 | 10000 |
| Konuşmacılar | 2022.05.08 | 25000 |
| Toplam | 195.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
- Başlık satırları - Açık ve açıklayıcı sütun başlıkları oluşturun
- Tutarlı hizalama - Sayısal verileri sağa, metin verilerini sola hizala
- Uygun genişlikler - Beklenen içeriğe göre sütun genişliklerini ayarlayın.
- Biçimlendirme - Biçimlendirme (kenarlıklar, gölgelendirme) uygulayın. Word şablon
- Toplam sıralama - Toplam hesaplamaları uygun özet satırlarına yerleştirin.
Veri Hazırlığı
- Temiz veri - Şablon işleme başlamadan önce verilerin doğru formatta olduğundan emin olun.
- Boş değerleri ele alın - Boş alanlar için varsayılan değerler sağlayın.
- 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.
- 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.
:::