[英]Opening Excel file in C# closing erroring
我正在.NET 4.0(C#)中打開Excel文件。 我正在使用互操作性的12.0版本。 Excel文件是xls(舊)。 我可以很好地打開它,但是workbook.close()會導致COM異常,並且周圍沒有真實的細節。
oExcel = new Application();
oExcel.Visible = true;
oExcel.DisplayAlerts = false;
oBooks = oExcel.Workbooks;
oBook = null;
oBook = oBooks.Open(finalFilename);
oBook.Close(); // this gives COM Exception
有什么想法我做錯了嗎?
這是有趣的事情。 我不必保存。 在完成需要做的事情之后,我取出需要的數據並存儲起來,剛才復制的工作簿就消失了。
Excel.Application objExcel = new Excel.Application();
Excel.Workbook objWorkbook = (Excel.Workbook)(objExcel.Workbooks._Open(@"D:\a.xls", true,
false, Missing.Value, Missing.Value, Missing.Value,
Missing.Value, Missing.Value, Missing.Value,
Missing.Value, Missing.Value, Missing.Value,
Missing.Value));
您的代碼...
objWorkbook.Save();
objWorkbook.Close(true, @"C:\Documents and Settings\Administrator\b.xls", true);
objExcel.Quit();
以我的經驗,僅打開和關閉錯誤很可能表明文件有問題。 Excel 桌面非常寬容,可以正常處理文件的任何問題。 該文件在Excel中可能看起來正常工作,而沒有給出任何錯誤提示。
您可以嘗試在Excel中重新保存文件。 如果仍然無法正常運行,請嘗試創建一個新的電子表格並從舊文件中復制內容。
Workbook.Close似乎不包含沒有參數的Close方法。
http://msdn.microsoft.com/zh-CN/library/microsoft.office.tools.excel.workbook.close.aspx
方法簽名:void Close(對象SaveChanges,對象文件名,對象RouteWorkbook)
object missing = Type.Missing;
object noSave = false;
oBook.Close(noSave, missing, missing);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.