问题:加载Excel电子表格模板.使用具有不同文件名的Save命令,然后退出interop对象.这最终会保存原始模板文件.不是喜欢的结果.
public void saveAndExit(string filename) { excelApplication.Save(filename); excelApplication.Quit(); }
打开的原始文件是c:\ testing\template.xls传入的文件名是c:\ testing\7777(date).xls
有人有答案吗?
(我选择的答案是最正确和最彻底的,虽然wbk.Close()需要传递给它的参数.谢谢.)
Excel互操作非常痛苦.我挖了一个旧项目,做了一点点摆弄,我觉得这就是你要找的东西.其他评论者是对的,但是,至少根据我的经验,如果你在VBA中使用了相同的对象(没有interop包装器),那么调用SaveAs()会比你期望的要多得多.
Microsoft.Office.Interop.Excel.Workbook wbk = excelApplication.Workbooks[0]; //or some other way of obtaining this workbook reference, as Jason Z mentioned wbk.SaveAs(filename, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, XlSaveAsAccessMode.xlNoChange, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing); wbk.Close(); excelApplication.Quit();
要爱所有那些Type.Missings.但我认为他们是必要的.