问题:加载Excel电子表格模板.使用具有不同文件名的Save命令,然后退出interop对象.这最终会保存原始模板文件.不是喜欢的结果.
public void saveAndExit(string filename)
{
excelApplication.Save(filename);
excelApplication.Quit();
}
Run Code Online (Sandbox Code Playgroud)
打开的原始文件是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();
Run Code Online (Sandbox Code Playgroud)
要爱所有那些Type.Missings.但我认为他们是必要的.
| 归档时间: |
|
| 查看次数: |
19175 次 |
| 最近记录: |