xlWorkBook.SaveAs("C:\examples\employee.xls", Excel.XlFileFormat.xlWorkbookNormal, misValue, misValue, misValue, misValue, Excel.XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue);
在上面的关系中,为什么我们写的大部分是错误值。
请解释,
提前致谢
最佳答案
您正在使用 COM 互操作调用 COM 组件 (Excel)。 COM 是一个与 .Net 完全不同(且较旧)的框架。为了帮助您调用 COM 组件,.Net 创建了一个 Runtime Callable Wrapper (RCW),它是一个代理类,允许您使用托管 C# 代码调用 COM。但是可选参数的 C# 和 COM 实现彼此不兼容 - C# 编译器不知道如何将默认 C# 参数映射到默认 COM 参数。因此,对于默认的 COM 参数,我们必须显式地给它们 System.Reflection.Missing.Value。
关于c# - 为什么我们要指定 System.Reflection.Missing.Value?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60651210/