Export Excel Trong C#
in Programming on C#, Excel
Để 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ạn tạo một project C# (console, winforms, wpf…)
- Click chuột phải vào tên project ở Solution Explorer và chọn Manager NuGet Packages…
- 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.
Ngoài ra bạn có thể cài đặt trực tiếp từ cửa sổ lệnh của nuget.
PM> Install-Package ClosedXML
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ả.
Các ô dữ liệu sẽ lưu trữ các loại dữ liệu khác nhau như string, datetime, double…. việc 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 đó 😉Khi đọc dữ liệu từ các cell trong file excel thì nên kiểm tra trước kẻo dính lỗi, ví dụ cell đang lưu datetime mà đọc lên kiểu double thì độp nhé 😉
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ó closedxml.
Như thường lệ, source code của bài này tại đây: https://github.com/sontx/excel-cshap