[C#] Hướng Dẫn đọc Trực Tiếp File Excel đang Mở C#

Xin chào, các bạn bài viết hôm nay mình sẽ chia sẽ cho các bạn cách đọc file Excel đang mở trong lập trình C#.

Trong các bài viết trước, mình đã có hướng dẫn các bạn cách import dữ liệu từ file Excel vào Winform C#.

Nhưng khi excel đó, các bạn đang mở lên thì các bạn sẽ không import đọc được file và ứng dụng sẽ báo lỗi vì có một process đang xử lý file excel đó.

The process cannot access the file 'C:\Users\nguye\Desktop\data.xlsx' because it is being used by another process.'

Các bạn xem hình ảnh bên dưới:

read_excel_stream

Vậy làm thế nào, mình có thể đọc được file excel đó, khi file đó vẫn đang được mở.

Rất đơn giản các bạn chỉ cần thêm options: 

FileShare.ReadWrite ở sau đọc code Read file

using (var stream = File.Open(path, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))

Khi các bạn thêm thuộc tính nào vào, các bạn sẽ có thể đọc file excel cho dù file excel đó, đang bị kiểm soát bởi một ứng dụng nào đó đang đọc.

Để download source code bài này, các bạn có thể download source ở bài viết trước của mình, và chỉ cần thêm thuộc tính FileShare vào là ok nhé.

Link: https://laptrinhvb.net/bai-viet/chuyen-de-csharp/---Csharp----Import-du-lieu-file-Excel-(xls,-xlsx,-csv)-vao-Dataset-hoac-Datatable/dc016480009700de.html

Dưới đây là video mình demo, sử dụng một timer để làm việc với file excel đang mở.

Thanks for watching!

Tags: read excelimport excel c#excel to datatable c#

Từ khóa » đọc File Excel Trong C#