Tôi có một ứng dụng winforms tải trong các tệp excel để phân tích. Hiện tại, để mở tập tin excel, tập tin không được mở trong excel nếu không thì FileIOException sẽ bị ném ra khi tôi thử tải trong tập tin.Làm cách nào để mở một tệp được mở trong một ứng dụng khác
Điều tôi muốn làm là cho phép ứng dụng của tôi đọc trong tệp ngay cả khi nó mở trong excel thay vì buộc người dùng phải đóng bảng tính trước. Lưu ý rằng các ứng dụng trong câu hỏi chỉ cần đọc các tập tin, không ghi vào nó.
Điều này có khả thi không?
Tôi nghĩ cờ FileShare là dành cho trường hợp khác - khi bạn muốn cho phép các ứng dụng khác có quyền truy cập vào tệp – ChrisF
Điều này từ dữ liệu meta: "Chứa các hằng số để kiểm soát loại quyền truy cập các đối tượng System.IO.FileStream khác có thể có cùng một tệp " – ChrisF
Trong trường hợp các trình mở tương lai, FileShare.Read có nghĩa là" các trình mở tương lai có thể mở tệp để đọc ". Trong trường hợp của quá khứ mở, FileShare.Read có nghĩa là "mở tập tin này cho tôi chỉ nếu nó có quá khứ mở mà mở nó cho chỉ đọc". Đó là lý do tại sao FileShare.ReadWrite cần phải được sử dụng ở đây, bởi vì Excel sẽ mở tệp để ghi. –