Có cách nào để lưu thay đổi vào bảng tính excel thông qua excel interop (trong trường hợp này tôi đang thêm bảng tính vào nó) mà không cần nhắc người dùng họ muốn ghi đè tệp hiện có bằng các thay đổi. Tôi không muốn người dùng thậm chí nhìn thấy bảng tính mở trong ứng dụng của tôi để có một hộp thông báo bật lên hỏi họ xem họ có muốn ghi đè lên tệp có vẻ rất lạc hậu và có thể gây nhầm lẫn cho người dùng.Làm thế nào để lưu/ghi đè tệp Excel hiện có bằng Excel Interop - C#
Tôi đang sử dụng phương thức workbook.SaveAs (fileloaction).
Đây là nơi tôi đang khởi tạo đối tượng tham chiếu COM cho tương tác excel.
private Excel.Application app = null;
private Excel.Workbook workbook = null;
public Excel.Workbook Workbook
{
get { return workbook; }
set { workbook = value; }
}
private Excel.Worksheet worksheet = null;
private Excel.Range workSheet_range = null;
Dưới đây là mã tôi đang sử dụng để đóng/lưu tệp excel. Dòng phương thức workbook.close() là dòng được báo cáo là ném ngoại lệ chưa được xử lý.
workbook.Close(true, startForm.excelFileLocation, Missing.Value);
Marshal.ReleaseComObject(app);
app = null;
System.GC.Collect();
tạo ảnh vui nhộn nó làm việc! Nếu chỉ bây giờ tôi có thể tìm thấy một cách để đóng nó như bạn đang làm ở trên mà không có nó gây ra C# applicaiton của tôi để ném một ngoại lệ unhandled và sụp đổ. Tôi không thể đóng ứng dụng sau khi lưu và đóng tệp excel. Nó cần phải mở. – user1546315
Bạn có thể đăng một đoạn mã (hoặc đăng câu hỏi mới với mã đó nếu nó không phù hợp với câu hỏi này) ... Điều đó có vẻ lạ và, tôi chắc chắn, dễ dàng sửa chữa ... –
Tôi đã cập nhật bài đăng với một số mã. Nếu bạn cần thêm cho tôi biết. Tôi đã đăng nhiều chủ đề về vấn đề này, đã thử một số giải pháp, nhưng vẫn chưa thể đóng/lưu sổ làm việc excel mà không cần ném một ngoại lệ chưa được giải quyết và làm rơi ứng dụng C#. – user1546315