我正在做一个简单的c#应用程序,它将编辑现有的excel 2003模板(xlt)并保存到一个新的* .xls文件中。它是这样的:保存excel 2003文件
Microsoft.Office.Interop.Excel._Application app = new Microsoft.Office.Interop.Excel.Application();
Microsoft.Office.Interop.Excel._Workbook workbook = app.Workbooks.Open("\\my_template.xlt");
Microsoft.Office.Interop.Excel._Worksheet worksheet = (Microsoft.Office.Interop.Excel.Worksheet)workbook.Sheets[0];
然后我修改一些细胞中,在不同的配方中使用的文件 内保存模板到一个新的文件:
workbook.SaveAs("newfile.xls", Microsoft.Office.Interop.Excel.XlFileFormat.xlWorkbookNormal);
workbook.Close(true, misValue, misValue);
app.Quit();
worksheet = null;
workbook = null;
app = null;
所以问题是,当新的文件成功保存后,我打开它,看到使用了我编辑的单元格的公式的结果就像“#NAME”等等。当我重新打开文件 - 一切都变好了。为什么会发生?
也许我是通过不正确的方式保存文件,这就是为什么我在第一次打开时看到错误?这个问题仅适用于2003年的办公室......正如我所承认的那样。
哪个互操作程序集版本是你引用? –
你是如何编辑单元格的? – oberfreak