Furkan KapukayaYazılım geliştirme
Otomasyon ve Entegrasyon2 dk okuma

Excel Raporlarını Otomatikleştirmek: Kodla Excel Dosyası Oluşturma

Her gün elle hazırlanan Excel raporlarını otomatik oluşturmak, .NET ile Excel dosyası üretme kütüphaneleri ve lisansları, biçimlendirme, formüller ve rapor dağıtımı.

Birçok işletmede rapor demek Excel demektir. Yöneticiler, muhasebeciler ve iş ortakları alışkın oldukları bu formatı ister. Sorun, raporun her seferinde birinin farklı sistemlerden veri kopyalayıp biçimlendirmesiyle hazırlanmasıdır. Bu işi kod yapabilir.

Otomatik Excel raporu ne demek?

Bir program veritabanından veya API'lerden veriyi alır, tablo, başlık, biçim ve gerekirse formüllerle birlikte bir Excel dosyası oluşturur ve kaydeder ya da e-postayla gönderir. Kimse Excel'i açmadan rapor hazır olur. Gönderim tarafı için otomatik rapor e-postası yazımıza bakabilirsiniz.

.NET ile Excel oluşturma

.NET ekosisteminde Excel dosyası oluşturmak için sunucuda Excel kurulu olmasını gerektirmeyen kütüphaneler kullanılır. Office'i sunucuda otomasyonla çalıştırmak ise kararlılık ve lisans açısından önerilmez.

Lisanslara dikkat

Kütüphane seçerken teknik özellikler kadar lisans da önemlidir:

  • ClosedXML: MIT lisanslıdır; ticari projelerde ücretsiz kullanılabilir.
  • NPOI: Apache 2.0 lisanslıdır.
  • EPPlus: 5. sürümden itibaren ticari kullanım için ücretli lisans gerektirir; eski 4.x sürümü LGPL ile kalmıştır.

Lisans koşulları değişebildiği için kullanmadan önce güncel lisans metnini kontrol edin.

Basit bir örnek

using var wb = new XLWorkbook();
var ws = wb.Worksheets.Add("Satışlar");
ws.Cell(1, 1).InsertTable(satislar);   // liste otomatik tabloya dönüşür
ws.Column(3).Style.NumberFormat.Format = "#,##0.00 ₺";
ws.Columns().AdjustToContents();
wb.SaveAs($"satis-raporu-{DateTime.Today:yyyy-MM-dd}.xlsx");

İyi bir otomatik raporun özellikleri

  1. Özet sayfası: İlk sayfada kritik rakamlar.
  2. Ayrıntı sayfaları: Filtrelenebilir tablolar.
  3. Tutarlı biçim: Tarih, para ve yüzde biçimleri.
  4. Dosya adında tarih: Arşivlemeyi kolaylaştırır.
  5. Formül yerine hesaplanmış değer: Genellikle daha güvenilirdir; gerektiğinde formül de eklenebilir.

Excel'den okumak

Tersi de mümkündür: tedarikçiden gelen fiyat listesi veya sahadan gelen sipariş dosyası otomatik okunup sisteme işlenebilir. Bu durumda sütun doğrulaması şarttır. Bkz. SFTP ile dosya aktarımı.

Excel nerede yetersiz kalır?

Rapor yerine sürekli güncellenen bir ekran gerekiyorsa yönetim paneli, veri girişi ve iş akışı gerekiyorsa gerçek bir uygulama daha doğru çözümdür. Bkz. Excel'den özel yazılıma geçiş.

Sık sorulan sorular

Mevcut Excel şablonumu kullanabilir miyim?

Evet. Hazır bir şablon dosyası açılıp ilgili hücreler doldurularak aynı görünümde rapor üretilebilir.

Grafik içeren raporlar da otomatik oluşturulabilir mi?

Bazı kütüphaneler grafik eklemeyi destekler. Desteklemeyenlerde grafikli bir şablonun veri aralığını doldurmak pratik bir yöntemdir.

Sonuç

Her gün elle hazırlanan Excel raporu, birkaç günlük geliştirme ile tamamen otomatik hale gelebilir. Rapor otomasyonu için iletişime geçebilirsiniz.