使用C#保存Excel 2007及以上

我包括这个:

using Excel = Microsoft.Office.Interop.Excel; 

我希望能够打开一个Excel文件XLSX,并将其另存为一个不同的文件:

  xlWorkBook.SaveAs(xlWorkBook.Path + @"\XMLCopy.xls", Excel.XlFileFormat.xlXMLSpreadsheet, ,, false, false, Excel.XlSaveAsAccessMode.xlNoChange, ,,,,); 

上面有缺less的参数,我不明白为他们input什么!

这是我的完整代码:

 Excel.Application xlApp; Excel.Workbook xlWorkBook; Excel.Worksheet xlWorkSheet; Excel.Range range; string str; int rCnt = 0; int cCnt = 0; xlApp = new Excel.ApplicationClass(); xlWorkBook = xlApp.Workbooks.Open("csharp.net-informations.xls", 0, true, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0); xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1); 

问题 :如何使用上面的c#使用不同的名称/path保存Excel文件?

您需要使用Visual Studios 2010在C#中正确使用可选参数。

如果你不能使用Visual Studios 2010,那么Eddy的build议Type.Missing应该可以工作。

当使用具有可选参数的方法(而不是使用Type.Missing)时,调用函数时使用命名参数通常是一个好主意。


另外,你应该意识到可选参数的限制和怪癖(尽pipe大多数参数不应该影响你,因为你不是用可选参数创build方法):

应该指出,我不build议使用可选参数创build方法。 重载方法或创build一个新的对象,用户可以在调用方法之前设置对象属性 。