Thao tác với Excel trong C#

Note - Tips - Trick - .Net

5.0 (8 đánh giá)
Tạo bởi Kteam Cập nhật lần cuối 7 năm trước 124.490 lượt xem 32 bình luận
Tác giả/Dịch giả: Kteam
Học nhanh

Danh sách bài học

Thao tác với Excel trong C#

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:

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à:

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.WebDriverSelenium.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à:

ImportData.xlsx

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.

ExcelInCSharp


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: 

www.howkteam.vn/requests 

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 likeshare để ủ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

Note - Tips - Trick - .Net

Lưu các thủ thuật, code mẫu, cách dùng về .Net

Đánh giá

5.0
8 đánh giá
Đánh giá
5
8
4
3
2
1
Vo Tan Duc đã đánh giá 3 năm trước

Hay và tuyệt vời quá anh Long ơi!

Bill_Quang đã đánh giá 4 năm trước

panadora đã đánh giá 5 năm trước

đã xem và đã ứng dụng, rất tốt :D

Nam Đỗ đã đánh giá 5 năm trước

<3

RYUGA RYUZAKI đã đánh giá 5 năm trước

Bình luận

Để bình luận, bạn cần đăng nhập bằng tài khoản Howkteam.

Đăng nhập
guytech đã bình luận 2 năm trước

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?

Vo Tan Duc đã bình luận 2 năm trước

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?

behiep7 đã bình luận 3 năm trước

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

 

Xle1162 đã bình luận 3 năm trước

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

hientran78rolexabc đã bình luận 4 năm trước

mình làm theo hướng dẫn nhưng  bị báo lỗi error!

Mong ad xem lại

 

Không có video.