Thao tác với Excel trong C#
Note - Tips - Trick - .Net

Danh sách bài học
Thao tác với Excel trong C#
Nội dung bài viết Học nhanh
Dẫn nhập
Trong lập trình phần mềm, tool hay cả website. Việc thao tác với file dữ liệu rất cần thiết. Và thao tác với file Excel cũng chiếm tần suất không nhỏ.
Ở bài này, Kteam sẽ hướng dẫn tới bạn Thao tác với file Excel trong C# dùng thư viện EPPlus. EPPlus có một lợi thế là có thể chạy luôn cả ở phía Server.
Nội dung
Để đọc hiểu bài này tốt nhất bạn cần:
- Cài đặt sẵn VISUAL STUDIO.
- Có kiến thức về C# CƠ BẢN, và LẬP TRÌNH WPF.
Bạn và Kteam sẽ cùng tìm hiểu những nội dung sau đây
- Đọc file Excel trong C#
- Ghi dữ liệu ra file Excel và định dạng Cell.
Đọc Excel trong C#
Đầu tiên, chúng ta mở Visual Studio và tạo một project mới
Chọn WPF APP(.NET Framework) hoặc Windows Forms App nếu bạn không rành WPF. Đặt tên project và chọn đường dẫn lưu solution của bạn.
Tại màn hình ban đầu của project.
Bạn thay cặp thẻ
Bằng
Chúng ta tạo giao diện có một DataGrid để hiển thị dữ liệu từ Excel và hai Button Import & Export.
Code hoàn chỉnh của MainWindow.xaml
Một lưu ý nhỏ, trong sự kiện Click mình đã tạo sẵn một Event Click theo cách nhắc lệnh mà Visual Studio hỗ trợ đó là:
Gõ Click =
Một New Event Handler sẽ hiện lên > bạn chỉ cần nhấn Enter
Sẽ tự tạo một event ở code behind
Bạn nào đã có kiến thức WPF thì có thể bỏ qua. Bạn nào chưa biết có thể xem qua Serial LẬP TRÌNH WPF CƠ BẢN.
Đầu tiên, chúng ta sẽ thực hiện chức năng Import Excel. Code Behind như sau:
Chúng ta sẽ bắt đầu Import thư viện EPPlus vào để dùng.
Cần 1 thư viện chính đó là EPPLus để thao tác với file Excel.
Mở tab Solution Explore > Nhấp chuột phải vào References > chọn Manage Nuget Packages
r
Trong tab Nuget mở ra. Chọn Browse và gõ từ khóa Selenium vào thanh Search. Install Selenium.WebDriver và Selenium.Chrome.WebDriver hoặc Selenium.Firefox.WebDriver tùy theo trình duyệt bạn dùng.
Chúng ta cần một file excel mẫu để thử Import. Mình tạo sẵn 1 file excel có cấu trúc như sau trong folder Debug. Có tên là:
Và mình cũng tạo một class gọi là UserInfo để lưu dữ liệu chúng ta đọc được và để đổ dữ liệu lên DataGrid cho thuận tiện.
Và trong Event btnImport_Click mình sẽ dán đoạn code có comment chi tiết sau và chạy kết quả. Giải thích chi tiết sẽ nói tới trong video hướng dẫn.
Khuyến cáo: dùng tài liệu trên website và video cùng lúc để đạt hiệu quả cao.
Chạy thử nhấn button Import và xem kết quả
Chúng ta thấy dữ liệu từ file excel đã được đọc lên và đổ vào DataGrid một cách dễ dàng.
Export data ra Excel
Để xuất dữ liệu ra file excel chúng ta dùng đoạn code mẫu sau đã comment rõ ràng và hướng dẫn chi tiết trong video hướng dẫn nhé!
Chúng ta thêm 1 giá trị trong DataGrid và nhấn Export.
Chọn nơi cần lưu file
Cùng xem kết quả nào!
Vậy là bạn đã nắm được cách thao tác với file Excel một cách dễ dàng. Thật đơn giản đúng không nào.
Source code tham khảo
Source code mẫu đi kèm bài viết, giúp bạn dễ dàng thao tác theo hướng dẫn và tham khảo tốt hơn.
Kết luận
Bài viết này đã sơ lược cho các bạn Cách thao tác với Excel trong C#.
Cảm ơn bạn đã theo dõi bài viết. Hãy để lại bình luận hoặc góp ý của mình để phát triển bài viết tốt hơn. Đừng quyên “Luyện tập – Thử thách – Không ngại khó”.
Tài liệu
Bài hướng dẫn này là một trong những CHIẾN DỊCH được phổ biến bởi Howkteam.com và sự đóng góp từ cộng đồng. Bạn có thể cùng mọi người yêu cầu và tài trợ để Kteam tạo ra nhiều khóa học hữu ích hơn nữa.
Truy cập và tìm hiểu chi tiết tại:
Ngoài ra, Kteam hỗ trợ tính năng lưu trữ nội dung bài THAO TÁC VỚI EXCEL TRONG C# dưới dạng file PDF trong link bên dưới.
Đừng quên like hoặc +1 Google để ủng hộ Kteam và tác giả nhé!
Thảo luận
Nếu bạn có bất kỳ khó khăn hay thắc mắc gì về khóa học, đừng ngần ngại đặt câu hỏi trong phần BÌNH LUẬN bên dưới hoặc trong mục HỎI & ĐÁP trên thư viện Howkteam.com để nhận được sự hỗ trợ từ cộng đồng.
Tải xuống
Tài liệu
Nhằm phục vụ mục đích học tập Offline của cộng đồng, Kteam hỗ trợ tính năng lưu trữ nội dung bài học Thao tác với Excel trong C# dưới dạng file PDF trong link bên dưới.
Ngoài ra, bạn cũng có thể tìm thấy các tài liệu được đóng góp từ cộng đồng ở mục TÀI LIỆU trên thư viện Howkteam.com
Đừng quên like và share để ủng hộ Kteam và tác giả nhé!

Thảo luận
Nếu bạn có bất kỳ khó khăn hay thắc mắc gì về khóa học, đừng ngần ngại đặt câu hỏi trong phần bên dưới hoặc trong mục HỎI & ĐÁP trên thư viện Howkteam.com để nhận được sự hỗ trợ từ cộng đồng.
Tác giả/Dịch giả
Khóa học
Lưu các thủ thuật, code mẫu, cách dùng về .Net
Hi Long, Bạn có thể chuyển đổi List<UserInfo> thành List<T> để sử dụng chung cho nhiều UI có sử dụng Export Excel được không?
Anh Long cho em hỏi: Trong Manage Nuget Package trong video em thấy có EPPlus.core, vậy thư viện đó dùng cho .NET core hả anh?
Nhờ các bạn hướng dẫn mình với, mình muốn đọc dữ liệu từ 2 file excel. Mỗi file có 1 cột giống như là id , mình sẽ dựa vào đó sẽ xuất ra những dòng dữ liệu từ file excel 1 không có id trùng bên file excel 2 ạ. Nếu được thì các bạn hướng dẫn mình so sánh giá trị nhìu cột luôn thì quá tốt ạ. Mình xin cảm ơn các bạn
3 điều quan trọng cho các bạn tham khảo các bài học sau này
1. Epplus không còn miễn phí cấp độ doanh nghiệp
2. Muốn dùng phi thương mại thì bắt buộc phải thêm biến : ExcelPackage.LicenseContext = LicenseContext.NonCommercial;
3. Thay đổi việc đánh số thứ tự worksheet: trước: bắt đầu bằng 1; hiện tại: bắt đầu bằng 0
mình làm theo hướng dẫn nhưng bị báo lỗi error!
Mong ad xem lại