Estoy haciendo una aplicación C# simple que es editar la plantilla existente de excel 2003 (xlt) y guardar en un nuevo archivo * .xls. Es como:Guardar el archivo de 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];
Luego modifico algunas células que se utilizan en diversas fórmulas dentro del archivo y guarda la plantilla en un nuevo archivo:
workbook.SaveAs("newfile.xls", Microsoft.Office.Interop.Excel.XlFileFormat.xlWorkbookNormal);
workbook.Close(true, misValue, misValue);
app.Quit();
worksheet = null;
workbook = null;
app = null;
Así que el problema es que cuando el nuevo archivo Se ha guardado correctamente, lo abro y veo que los resultados de las fórmulas, que están usando las celdas que he editado, son como "#NOMBRE", y así sucesivamente. Cuando vuelvo a abrir el archivo, todo está bien. ¿Por que sucede?
Tal vez estoy guardando archivos de manera incorrecta y es por eso que veo errores durante su primera apertura? Este problema es real para la oficina de 2003 solamente ... como lo he admitido.
Qué versión de ensamblado de interoperabilidad que están referenciando? –
¿Cómo estás editando las celdas? – oberfreak