Excel Dosyalarına Veri Yazmak İçin Açık Kaynak Node.js Kütüphanesi
Excel XLSX Dosyaları Oluşturmak ve Verileri Akış Şeklinde Yazmak İçin Basit API Sunan Özel Açık Kaynak Node.js Excel XLSX Kütüphanesi.
Node-XLSX-Writer Nedir?
Node.js geliştirme dünyasında rapor üretmek ve veri dışa aktarmak sıkça karşılaşılan gereksinimlerdir. Exceljs gibi güçlü kütüphaneler bulunmakla birlikte, bazen bir göreve tamamen odaklanmış bir çözüm gerekir; mevcut dosyaları okuma veya değiştirme yükü olmadan XLSX dosyalarını hızlı ve verimli bir şekilde yazmak. İşte bu noktada Node-XLSX-Writer devreye girer; bu amaç için özel olarak tasarlanmış hafif ve basit bir kütüphanedir. Kütüphane, sadeliği ve odaklanmış işlevselliğiyle öne çıkar. Okuma, yazma ve manipülasyon gibi geniş kapsamlı Excel kütüphanelerinin aksine, bu modül yalnızca XLSX dosyaları yazmaya odaklanır ve bu sayede hafif, öğrenmesi kolay, hızlı bir şekilde uygulanabilir ve güvenilirdir.
Node-XLSX-Writer, özellikle Node.js uygulamalarında XLSX (Excel) dosyaları üretmek için tasarlanmış hafif ve basit bir kütüphanedir. CSV benzeri dışa aktarmalar gibi işler, Excel'in formatlama ve çoklu sayfa desteği (basit API'si sayesinde) gibi ek avantajlarla sunulduğunda, kodunuzu temiz tutar ve uygulamanızın bellek ayak izini küçültür. Ruben Vermeersch tarafından oluşturulan ve örnek XLSX dosyalarından tersine mühendislik yoluyla elde edilen bu modül, geliştiricilere büyük Excel manipülasyon kütüphanelerinin karmaşıklığı olmadan verileri Excel formatına dışa aktarmanın basit ama etkili bir yolunu sunar. Bu da veritabanları veya API'lerden büyük raporlar üretmesi gereken uygulamalar için ideal bir seçim yapar; akış (streaming) doğası, devasa veri kümeleriyle bile düşük bellek kullanımı sağlar.
Node-XLSX-Write ile Başlarken
Node-XLSX-Writer'ı kurmadan önce sisteminizde libzip geliştirme kütüphanelerinin yüklü olması gerekir. Kütüphane, zip dosyaları (XLSX dosyaları temelde sıkıştırılmış XML) oluşturmak için bu yerel bağlamalara bağımlıdır. Başarılı bir kurulum için aşağıdaki komutları kullanın.
Node-XLSX-Write'ı npm aracılığıyla kurun
npm install --save xlsx-writerGitHub deposundan indirebilirsin ve kurulumunu yapabilirsin.
Node.js'te Excel XLSX Çalışma Sayfası Oluşturma
Node-XLSX-Writer açık kaynak kütüphanesi, Node.js uygulamalarında Excel XLSX dosyaları oluşturma ve yönetme özelliklerini içerir. Kütüphane Microsoft Excel veya COM etkileşimine ihtiyaç duymaz. XLSX dosyasını (temelde XML parçalarının bir ZIP dosyasıdır) programatik olarak oluşturur. Bu da sunucu tarafı Node.js kullanımı için uygundur. Aşağıdaki kod örneği, bazı verilerle bir Excel dosyası oluşturmanın en basit yolunu gösterir.
Node.js uygulamalarında Excel XLSX dosyası nasıl oluşturulur?
// Import the library
const XLSXWriter = require('node-xlsx-writer');
// 1. Create a new instance, specifying the output file path.
const xlsx = new XLSXWriter('./output/simple_report.xlsx');
// 2. Write the header row (optional, but recommended).
xlsx.writeRow(['Name', 'Email', 'Sign-Up Date']);
// 3. Write some data rows.
xlsx.writeRow(['Alice Smith', 'alice@example.com', '2023-10-25']);
xlsx.writeRow(['Bob Johnson', 'bob.j@domain.com', '2023-10-26']);
xlsx.writeRow(['Charlie Brown', 'charlie@brown.com', '2023-10-27']);
// 4. Finalize the file. This step is crucial to save the file properly.
xlsx.finalize();
console.log('Excel file created successfully!');
Büyük Veri Setleri İçin Akış
Node-XLSX-Writer burada gerçekten parlıyor. Tüm verileri belleğe yüklemek yerine satırları birer birer akıtabilirsiniz. Bu, veritabanı sorgu sonuçlarını işlerken mükemmeldir. Kütüphane, veritabanından her kaydı yaymak için fonksiyonlar kullanır. Bunu hemen Excel dosyasına yeni bir satır olarak yazarız. Bu yaklaşım, 100 satır ya da 1 milyon satır dışa aktarıyor olsanız da bellek kullanımını sabit tutar.
Node.js uygulamalarında bir veritabanından akış (streaming) nasıl yapılır?
// Import the library
const XLSXWriter = require('node-xlsx-writer');
// 1. Create a new instance, specifying the output file path.
const xlsx = new XLSXWriter('./output/simple_report.xlsx');
// 2. Write the header row (optional, but recommended).
xlsx.writeRow(['Name', 'Email', 'Sign-Up Date']);
// 3. Write some data rows.
xlsx.writeRow(['Alice Smith', 'alice@example.com', '2023-10-25']);
xlsx.writeRow(['Bob Johnson', 'bob.j@domain.com', '2023-10-26']);
xlsx.writeRow(['Charlie Brown', 'charlie@brown.com', '2023-10-27']);
// 4. Finalize the file. This step is crucial to save the file properly.
xlsx.finalize();
console.log('Excel file created successfully!');
Özel Stil (Yazı Tipi, Renk, Kenarlıklar)
Tam özellikli paketler kadar kapsamlı olmasa da, açık kaynak Node-XLSX-Writer kütüphanesi raporlarınızın profesyonel görünmesi için gerekli stil seçeneklerini sunar. Yazı tipini kalın ya da italik yapma, arka plan rengi ve kenarlık rengi ayarlama, kenarlık stilini (ince, orta, kalın) tanımlama gibi çeşitli stil özelliklerini destekler. Aşağıdaki örnek, yazılım geliştiricilerin Node.js uygulamalarında başlık satırını nasıl stillendirebileceğini gösterir.
Node.js kütüphanesiyle başlık satırına stil nasıl uygulanır?
const XLSXWriter = require('node-xlsx-writer');
const xlsx = new XLSXWriter('./output/styled_report.xlsx');
// Define a style object for the header
const headerStyle = {
bold: true,
background: 'FF2A52F5', // Blue background (ARGB Hex format)
color: 'FFFFFFFF', // White text
border: 'thin', // Thin border around cells
borderColor: 'FF000000' // Black border
};
// Apply the style when writing the header row
xlsx.writeRow(['Product', 'Category', 'Price', 'Stock'], headerStyle);
// Data rows are written without a style (or with a different one)
xlsx.writeRow(['Laptop', 'Electronics', 999.99, 15]);
xlsx.writeRow(['Desk Chair', 'Furniture', 249.50, 8]);
xlsx.finalize();