ORKESTRA

ORKESTRA

  orkestra orkestra.com.tr
  Sohbet   İndirme Merkezi

Raporların Excel'e Çıktı Alınması

Aşağıda örneği verilen kodlarla beraber Rapor Önizlemesi alındığında üst tarafta “Excel Kaydet” butonu çıkacak ve ekranda görülen rapor hiçbir bozulma olmaksızın Excel ortamına aktarılabilecektir.

Excel Kaydet Butonu

 

 

 

Rapor Olayları

 

Rapor Tasarımını açtıktan sonra sol taraftaki menülerden “Rapor Olayları”na tıklayın.

Bunların içerisinden 2 tanesinin içerisine aşağıdaki betikler eklenir.

 

 “Rapor Başladıktan Sonra” sekmesine eklenecek betik;

// Rapor başladıktan sonra
Object excel = ScriptContext.getExcel();
excel.setFileName("AYRINTILI ÖDEME TAHSİLAT LİSTESİ");
 
Object sheet = excel.createSheet();
Object title = sheet.createTitle(15,5); // sheet başlığının yazı boyutu ve kaç hücreyi birleştirmesi gerektiği
title.setString("CARİ LİSTESİ");
 
Object col = sheet.getColumn(0);
col.setCaption("Cari Kod");
col.setCharWidth(30);
 
col = sheet.getColumn(1);
col.setCaption("Unvan");
col.setCharWidth(70);
 
col = sheet.getColumn(2);
col.setCaption("Satış Personeli");
col.setCharWidth(25);
 
col = sheet.getColumn(3);
col.setCaption("Bakiye");
col.setCharWidth(15);
col.setDataType("number");
 
col = sheet.getColumn(4);
col.setCaption("B_A");
//col.setDataType("date");
col.setCharWidth(8);
 
Object cari = excel.createSheet();
Object baslik = cari.createTitle(15,12);
baslik.setString("Satır Detay Bilgileri");
 
col = cari.getColumn(0);
col.setCaption("Cari Kodu");
col.setCharWidth(30);
 
col = cari.getColumn(1);
col.setCaption("Cari Açıklaması");
col.setCharWidth(70);
 
col = cari.getColumn(2);
col.setCaption("Vade");
col.setDataType("date");
col.setCharWidth(14);
 
col = cari.getColumn(3);
col.setCaption("Fatura Tarihi");
col.setDataType("date");
col.setCharWidth(14);
 
col = cari.getColumn(4);
col.setCaption("Belge No");
col.setCharWidth(18);
 
col = cari.getColumn(5);
col.setCaption("Satır Açıklaması");
col.setCharWidth(50);
 
col = cari.getColumn(6);
col.setCaption("İşlem Türü");
col.setCharWidth(20);
 
col = cari.getColumn(7);
col.setCaption("Kalan Vade");
col.setCharWidth(12);
 
col = cari.getColumn(8);
col.setCaption("Kalan Ödeme Tutarı");
col.setCharWidth(20);
 
col = cari.getColumn(9);
col.setCaption("Para Birimi");
col.setCharWidth(15);
 
col = cari.getColumn(10);
col.setCaption("Kur");
col.setCharWidth(10);
 
col = cari.getColumn(11);
col.setCaption("YPB Bakiye");
col.setCharWidth(20);
 
Object rapor = excel.createSheet();
Object baslik2 = rapor.createTitle(15,2);
baslik2.setString("Rapor Bilgileri");
 
col = rapor.getColumn(0);
col.setCaption("Rapor Tarihi");
col.setDataType("date");
col.setCharWidth(20);
 
col = rapor.getColumn(1);
col.setCaption("Kullanıcı Adı");
col.setCharWidth(20);
 
sheet.createHeader(true); // bu satır en sona yazılacak // bu satır olmazsa sütun başlıkları excele çıkmıyor.
cari.createHeader(true);
rapor.createHeader(true);

 

 

“Detay Basıldıktan Sonra” sekmesine eklenecek betik;

 

if(!getDictionary(0).hasKey($F{CARI_REF})){
    getDictionary(0).put($F{CARI_REF},$F{CARI_REF});
 
    Object excel = ScriptContext.getExcel();
    Object sheet = excel.getSheetAt(0);
    Object row = sheet.addRow();
    row.cell(0).setString($F{CARI_KOD});
    row.cell(1).setString($F{CARI_ACIKLAMA});
    row.cell(2).setString($F{SATIS_PERSONELI});
    row.cell(3).setNumber($F{BAKIYE});
    row.cell(4).setString($F{B_A});
}
 
if(!getDictionary(1).hasKey($F{SATIR_REF})){
    getDictionary(1).put($F{SATIR_REF},$F{SATIR_REF});
 
    Object excel = ScriptContext.getExcel();
    Object cari = excel.getSheetAt(1);
    Object row = cari.addRow();
    row.cell(0).setString($F{CARI_KOD});
    row.cell(1).setString($F{CARI_ACIKLAMA});
    row.cell(2).setDate($F{VADE_TARIHI});
    row.cell(2).setDataType("date");
    row.cell(3).setDate($V{FATURA_TARIHI});
    row.cell(3).setDataType("date");
    row.cell(4).setString($F{BELGE_NO});
    row.cell(5).setString($F{SATIR_ACIKLAMASI});
    row.cell(6).setString($F{ISLEM_TURU});
    row.cell(7).setNumber($V{KALAN_VADE});
    row.cell(8).setNumber($F{KAPATILMAMIS_TUTAR});
    row.cell(9).setString($F{PARA_BIRIMI});
    row.cell(10).setNumber($F{DOVIZ_KURU});
    row.cell(11).setNumber($V{kalan_tutar_ypb});
}
 
if(!getDictionary(2).hasKey($V{username})){
    getDictionary(2).put($V{username},$V{username});
 
    Object excel = ScriptContext.getExcel();
    Object rapor = excel.getSheetAt(2);
    Object row = rapor.addRow();
    row.cell(0).setString(DateUtil.format($V{report_time},"dd.MM.yyyy"));
    row.cell(1).setString($V{userfullname});
}
 

Bu kodlarla beraber Rapor Önizlemesinde “Excel Kaydet” butonu çıkacak sütunlarda kayma ya da formatlama hatası olmadan excel raporu alabileceksiniz.