8/23/16

Export Excel Trong C#

Khỏi phải giới thiệu về Microsoft Excel(gọi ngắn gọn là Excel), với nó bạn có thể làm đủ thứ việc. Để tạo và làm việc với file excel thì bạn chỉ cần cài chương trình Excel vào máy. Nhưng đôi khi khách hàng lại yêu cầu tính năng export kết quả hoặc dữ liệu ra file excel từ chương trình của mình thì "anh muốn em sống sao" :)). Thật ra thì nhiều thư viện đã được xây dựng để phục vụ cho việc này, và hôm nay mình sẽ giới thiệu về 1 trong số chúng đó là ClosedXML.

ClosedXML

Để biết CloseXML là gì và làm được gì với nó thì mình sẽ dịch nguyên văn trên trang chủ của ClosedXML. Trình độ tiếng anh hạn hẹp nên dịch đôi khi sai sót mong các bạn thông cảm :))

Mô tả

ClosedXML giúp các nhà phát triển tạo ra các file excel 2007/2010 một cách dể dàng hơn. Nó cung cấp các cách làm việc với file excel một cách đơn giản mà bạn không cần phải quan tâm đến cấu trúc phức tạp của XML(thực ra thì file excel là một file nén chứa các file xml bên trong thôi). Bạn có thể sử dụng bất cứ ngôn ngử .Net nào như C# hay VB để làm việc với ClosedXML.

Bạn có thể làm gì với nó?

ClosedXML cho phép bạn tạo ra các file excel 2007/2010 mà không cần phải có ứng dụng Microsoft Excel cài đặt sẵn trong máy. Thường sử dụng khi bạn cần tạo các file báo cáo trên một web server.
Bạn cũng không cần phải biết về Microsoft Open XML Format SDK, bạn cũng không cần quan tâm đến XML hay bất cứ công nghệ nào bên dưới. Chỉ với 4 dòng code đơn giản và trực quan bạn đã tạo ra được một file excel đúng "chuẩn".
var workbook = new XLWorkbook();
var worksheet = workbook.Worksheets.Add("Sample Sheet");
worksheet.Cell("A1").Value = "Hello World!";
workbook.SaveAs("HelloWorld.xlsx");

Trau chuốt hơn một tí

Đây là những gì mà ClosedXML có thể làm được, khá chuyên nghiệp phải không.

Cách sử dụng

Bây giờ bạn đã biết sơ qua về ClosedXML rồi. Phần này mình sẽ hướng dẩn cách export một số dữ liệu ra file excel sử dụng ClosedXML.

Cài đặt thư viện

Bước 1: Bạn tạo một project C#, đơn giản mà :))
Bước 2: Click chuột phải vào tên project ở Solution Explorer và chọn Manager NuGet Packages...
Bước 4: Tại cửa sổ của NuGet, bạn nhập vào ô search "closedxml" sau đó chọn ClosedXML như hình bên dưới và click vào nút Install ở bên phải.
Extention NuGet sẽ tự động tải về và cài đặt thư viện ClosedXML vào project cho bạn, việc bạn cần làm là ngồi đợi nó chạy :))
Thông tin cài đặt được hiển thị ở cửa sổ Output.

Tạo và export file Excel

Bạn biết rằng mỗi file excel sẽ tương đương với 1 workbook(thường là thế), trong workbook đó sẽ chứa các worksheets.
Vì thế trước khi muốn làm việc với excel bạn cần tạo một workbook, sau đó tạo ít nhất một worksheet(tùy nhu cầu của bạn). Từ các worksheet bạn tạo ra, bạn có thể đặt thông tin cho các ô trong đó.

Và đây là kết quả.
Ngoài dữ liệu string, bạn có thể gán dữ liệu DateTime, int, float... cho một ô bất kỳ. Xác định loại dữ liệu và format cho phù hợp là việc của ClosedXML nên bạn không cần phải lăng tăng về chuyện đó :))
Mình chỉ hướng dẩn sơ qua như thế, bạn nào muốn nguyên cứu kỹ hơn để phục vụ cho công việc thì có thể đọc tại trang chủ của nó https://closedxml.codeplex.com.

Như thường lệ, source code của bài này tại đây: https://github.com/sontx/excel-cshap

0 nhận xét :

Post a Comment