For the complete documentation index, see llms.txt. This page is also available as Markdown.

5) Alternatif Şablon Formatı: JXLS

JXLS, Excel şablonlarından rapor üretmek için kullanılan Java tabanlı bir kütüphanedir. Jinja'ya alternatif olarak desteklenmektedir. Temel farklılıklar şöyledir:

1) Değişken sözdizimi:

JXLS'de hücreye değer yazmak için ${değişken} kullanılır; Jinja'nın {{ değişken }} biçiminin JXLS karşılığıdır.

Jinja:  {{ city }}              →  JXLS:  ${city} 
Jinja:  {{ sale|sum(...) }}      →  JXLS:  ${sale.![sum(order_amount)]}

2) Döngü sözdizimi:

JXLS’de döngüler jx:each direktifi ile hücre comment’ine yazılır. Bunun yanı sıra şablonun A1 hücresine jx:area(lastCell=“...”) direktifi eklenerek işlenecek alan tanımlanmalıdır. Bu iki direktif olmadan şablon JXLS motoru tarafından işlenmez. Parametre değişkenleri (${yil}, ${ay}) doğrudan adlarıyla, satır değişkenleri ise ${row.alan_adi} biçimiyle yazılır.

A1  comment : jx:area(lastCell="H11")
A10 comment : jx:each(items="sale" var="row" lastCell="H10")
A10 değeri : ${row.city}  |  B10: ${yil}  |  C10: ${row.product_category}  |  D10: ${ay}
E10–H10   : ${row.order_amount}  ${row.total_price}  ${row.total_cost}  ${row.net_price}
E11–H11   : =SUM(E10)  =SUM(F10)  =SUM(G10)  =SUM(H10)  [JXLS satır ekleyince formül genişler]

3) Dosya ve yapı:

JXLS şablonu da .xlsx uzantılıdır; Jinja şablonuyla aynı biçimde Rapor Şablonu panelinden yüklenir. Şablon formatı Jinja'dan bağımsız olarak değiştirilebilir; aynı SQL sorgusu ve parametreler her iki formatta da çalışır.

JXLS Şablon Versiyonları — v0, v1, v2

JXLS v0 — Düz liste (Şehir × Kategori):

Her satır bir şehir–kategori kombinasyonunu temsil eder. Ay bilgisi ${ay} ile parametre değeri olarak gösterilir (seçilen tüm ayların birleşik metni). Jinja v0’ın JXLS karşılığıdır.

Örnek Şablon:

Örnek Çıktı:

JXLS v1 — Ay bazında kırılım:

v0’dan tek farkı D10 hücresinin ${ay} yerine ${row.month} içermesidir; her satır bir şehir–kategori–ay kombinasyonunu temsil eder. SQL sorgusunda month kolonu hem SELECT hem GROUP BY içinde bulunmalıdır.

Örnek Şablon:

Örnek Çıktı:

Hangi format seçilmeli?: Jinja şablonları Python ekosistemiyle uyumlu, yazması ve okunması daha sezgisel bir söz dizimine sahiptir. JXLS, Java tabanlı sistemlerde ya da JXLS kütüphanesiyle deneyimli ekiplerde tercih edilebilir. İki format aynı şablon dosyasında birleştirilemez; hangi format kullanılacaksa şablon baştan o formatta hazırlanmalıdır.

Last updated