2012-03-06 99 views
0

我写了一个方法,它从DataGridView获取所有单元格并将它们复制到Excel工作簿中。保存excel文件时抛出异常

这一切工作正常和丹迪,直到我到达我实际保存它的部分。

这里是保存它的代码:

 //Saves the Workbook to the specified path 
     excelWorkbook.ActiveWorkbook.SaveCopyAs(pathToSave); 
     excelWorkbook.ActiveWorkbook.Saved = true; 

     //Close the workbook 
     excelWorkbook.Quit(); 

和异常被抛出:

Microsoft Office Excel cannot access the file 'C:\Users\TheGateKeeper\Desktop\New folder'. There are several possible reasons: 

• The file name or path does not exist. 
• The file is being used by another program. 
• The workbook you are trying to save has the same name as a currently open workbook. 

这是我第一次使用这个类的工作,所以我可能会搞乱的东西向上。

另外,作为一个旁注有哪些呢:

excelWorkbook.ActiveWorkbook.Saved = true; 

吗?

谢谢。

+0

'C:\用户\ TheGateKeeper \桌面\新建文件夹' 是目录。你如何设置excel文件名? – 2012-03-06 18:24:53

+0

Doh!该interlop类保存为什么扩展? – TheGateKeeper 2012-03-06 18:28:56

+0

1.什么是变量pathToSave的值? 2.目录是否存在“C:\ Users \ TheGateKeeper \ Desktop \ New文件夹”? – 2012-03-06 18:45:42

回答

1

SaveCopyAs方法的参数设置为包含扩展名的excel文件的路径。

例如。 C:\Users\TheGateKeeper\Desktop\TestFile.xls

扩展指定工作簿的格式,例如.xls的(2003年和<),XLSX(2007 +)

为了您的便笺,设置保存到真正标志的内容保存它doesn”实际上将它写入磁盘。

要打开工作簿文件,请使用Open方法。

要将工作簿标记为保存而不将其写入磁盘,请将其 已保存属性设置为True。

首次保存工作簿时,使用SaveAs方法为文件指定 名称。

来源MSDN