Ana içeriğe geç

Board Export

Horizon, board içeriğini iki farklı formatta dışa aktarmaya izin verir:

  • PNG snapshot — board canvas'ının ekran görüntüsü
  • XLSX — tüm widget'ların verisini içeren Excel dosyası

Her iki format da Kaptan AI sohbeti üzerinden tetiklenir; XLSX ayrıca elle indirilebilir.

Ön Koşul

Board'da en az bir widget bulunmalı ve veri yüklenmiş olmalıdır.

Board OluşturmaWidget Yerleştirme


1. PNG Snapshot

Board canvas'ı RepaintBoundary widget'ı içinde tutulur. Snapshot alındığında:

Adım Detay
1 RepaintBoundary.toImage() ile board ekran resmi alınır
2 ByteData olarak PNG'ye encode edilir
3 Base64 string'e dönüştürülür
4 Kaptan AI mesajına ek olarak gönderilir veya kullanıcıya indirme linki sunulur

Tarayıcı İndirme

PNG indirme tarayıcıda Blob URL üzerinden yapılır:

html.Url.createObjectUrlFromBlob(...)
AnchorElement(href: ...).click()

Dosya adı şablonu: Board_<BoardName>_<yyyyMMdd_HHmmss>.png


2. XLSX Export

XLSX dosyası syncfusion_flutter_xlsio paketi ile üretilir. Tüm widget'ların KpiExportable arayüzü üzerinden veri katkıları toplanır.

Adım Detay
1 Tüm widget'lar dolaşılır; KpiExportable implement edenler veri sağlar
2 Her widget için ayrı sheet oluşturulur
3 Sheet adı widget adından türetilir (özel karakterler escape edilir)
4 ExportWriter.buildWorkbookBase64(sheets: sheets) ile workbook oluşur
5 Base64 dosya tarayıcıda indirilir

Dosya adı şablonu: Board_<BoardName>_<yyyyMMdd_HHmmss>.xlsx

2.1 Sheet İçeriği

Widget Tipi Sheet Yapısı
Cartesian X kolon + her seri için bir Y kolonu
Circular Etiket + değer iki kolonu
DataGrid Tüm görünür kolonlar olduğu gibi
Gauge Tek hücre — etiket + değer
Dynamic Text Tek hücre — etiket + değer
Two-Column List Label + Value iki kolonu
Static Text Sheet oluşturulmaz (veri yok)

3. Export Tetikleme

Şu an Horizon UI'sinde doğrudan bir Export butonu yoktur; export işlemi:

  1. Kaptan AI sohbet diyaloğu üzerinden — AI ile yapılan sohbette XLSX otomatik üretilir ve mesaja eklenir; AI yanıtıyla birlikte XLSX kullanıcıya indirilir.
  2. (Bazı sürümlerde) Board üst barında Download ikonu — direkt XLSX indirme.

PDF Desteği

PDF export için ayrı bir kanal yoktur; tarayıcıdan Print → Save as PDF ile board dökülebilir. Daha sofistike PDF için Atlas modülünün public link'i tercih edilebilir.


4. Veri Filtreleme

Export anında aktif global filtre değerleri kullanılır. Yani:

  • Filtre paneline :baslangic = 2026-05-01 set ettiyseniz XLSX yalnızca bu tarihten itibaren veri içerir.
  • Filtre paneline değer girmediyseniz default değerler kullanılır.
  • Filtre değişikliği sonrası export yapmadan önce Apply butonuna basın.

5. Dosya Boyutu

Faktör Etki
Widget sayısı Her widget bir sheet ekler
Veri satırı sayısı Sorgu sonucu büyükse XLSX büyür
Embedded format XLSX, base64 olarak hafıza üzerinden indirilir

Çok Büyük Sorgular

100k+ satırlı sorgular tarayıcıyı dondurabilir. Bu tip rapor için Compass'ta LIMIT ekleyin veya backend'de tablo halinde tutun.


6. Sık Karşılaşılan Hatalar

Belirti Olası Neden Çözüm
XLSX indirme tetiklenmiyor Kaptan AI yanıt vermedi Langflow servisini kontrol edin
PNG resmi boş RepaintBoundary render edilemedi (CORS / off-screen) Sayfayı yenileyin, tekrar deneyin
Sheet adı görünmüyor Widget adı sadece özel karakter Cartography'de adı güncelleyin
Dosya adında Türkçe karakter sorunu İndirme adı encoding bozuk Tarayıcıyı yeniden başlatın

7. Sonraki Adım

Paylaşım