C# 如何考虑'';当';另存为';使用后期绑定?
我刚刚提出这个问题,我们有一个库,它使用反射操作Excel文件。当用户试图保存文件名中包含C# 如何考虑'';当';另存为';使用后期绑定?,c#,excel,reflection,late-binding,C#,Excel,Reflection,Late Binding,我刚刚提出这个问题,我们有一个库,它使用反射操作Excel文件。当用户试图保存文件名中包含(例如:01.02.xls)的文件时,它不会在保存的文件中包含.xls(结果:01.02) workbook.GetType().InvokeMember(“SaveAs”,BindingFlags.InvokeMethod,null,工作簿,新对象[]{filepath.Remove(filepath.LastIndexOf(“.”),56}) 是否有一个选项允许在文件名中使用?为什么要使用从文件路径中删
(例如:01.02.xls
)的文件时,它不会在保存的文件中包含.xls(结果:01.02
)
workbook.GetType().InvokeMember(“SaveAs”,BindingFlags.InvokeMethod,null,工作簿,新对象[]{filepath.Remove(filepath.LastIndexOf(“.”),56})代码>
是否有一个选项允许在文件名中使用
?为什么要使用从文件路径中删除.xls
filepath.Remove(filepath.LastIndexOf("."))
如果我只使用filepath
中的
workbook.GetType().InvokeMember("SaveAs", BindingFlags.InvokeMethod,
null, workbook, new Object[] { filepath, 56 });
它对我很有用尝试使用Path.Combine(filepath,.xls”)
谢谢@ReinerSchaack我也这么认为,但我相信这是有原因的(可能不是一个好的原因),有这么多应用程序使用这个库,我需要首先尝试在所有应用程序上进行测试。好的,我认为这是因为,如果有人使用不同于.xls(例如.xslx)的扩展名编写文件名,则会出现兼容性问题。但那是可以处理的,所以我会照你的建议去做。谢谢你,雷纳