Membuat Berkas Excel dari DataTable di .NET Core

Soeleman 30 Juni 2018

Membuat Berkas Excel dari DataTable di .NET Core

Banyak pengguna yang suka sekali menyimpan data dalam file. Salah satunya dalam format Excel. Banyak keinginan dari pengguna agar data-tabulasi yang tersaji di aplikasi bisa di-export ke dalam format itu.

alt text

Umumnya tujuan untuk meng-export data-tabulasi dalam format Excel dibuat dengan menggunakan report-engine seperti Crystal-Report, RDLC dan banyak lagi engine lainnya. Tapi menggunakan engine semacam itu butuh waktu untuk mengerjakannya. Cara yang lebih cepat adalah dengan mengubah data itu langsung tanpa engine. Salah satu triknya ialah dengan mengubah data ke bentuk CSV lalu diberi extension .xlsx. Karena Microsoft Excel dapat membaca file CSV dan dengan extension xlsx maka secara default windows-shell akan menjalankan Microsoft Excel dengan membuka file itu.

Sayangnya trik itu tidak berlaku untuk multi-tab. Untung saja di .Net kita mempunyai banyak library untuk bekerja dengan format Excel 2007, lebih tepatnya format Excel dengan OpenXML.

Salah satu yang cukup mudah penggunaanya adalah ClosedXml. Mendapatkannya cukup dengan menggunakan NuGet. Contoh penggunannya seperti method di bawah. Sederhana sekali bukan?

VB.NET

alt text

CSharp

alt text

Lalu hasil data yang didapat seperti gambar di bawah.

alt text

Penutup

Mengubah DataTable menjadi Excel mudah sekali dengan ClosedXML dengan format Office 2007 keatas. Dan kita tidak perlu ada Office terpasang ketika menjalankan kode ini.

Referensi

Perhatian! Code yang ditampilkan dalam tulisan ini merupakan ilustrasi dari yang ingin dipaparkan dan bukan production ready code. Sudah banyak kejadian karena asal meng-copy-and-paste tanpa mengerti code yang diambil itu ke dalam production. Selain itu perlu ada tambahan code dan test sebelum siap untuk digunakan secara utuh.