2012-07-26 47 views
0

我想使用C#程序将数据添加到excel表。我只能在我给程序输入的Excel表单关闭时才能添加和保存数据。无法添加和保存excel表打开excel时的数据

但是,如果我打开excel工作表,我正在给程序输入执行程序之前,我添加的数据不会被保存。

我使用的代码是

工作簿= appExl.Workbooks.Open(Excel_file,0,假,5, “”, “”,假,Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, “”,true,false,0,true,false,false);

和添加数据后,我正在使用workbook.Save();方法。

任何人都可以帮助我如何保存数据,即使excel表打开?

+0

无法写入到已打开的Excel文件。为什么不在执行程序之前以只读方式打开excel文件? – 2012-07-26 13:46:01

回答

0

我认为你已经锁定了进程,所以你不能保存,你首先要手动删除你的进程。

然后你添加这些代码行来获得你的资源。

 workbook.Save(); 
     applicationClass.Quit(); 
     while (Marshal.ReleaseComObject(usedRange) > 0) 
     {} 
     while (Marshal.ReleaseComObject(worksheet) > 0) 
     {} 
     while (Marshal.ReleaseComObject(workbook) > 0) 
     {} 
     while (Marshal.ReleaseComObject(applicationClass) > 0) 
     {} 

和你重新测试