Estoy generando hoja de cálculo XLSX usando OOXML SDK, y necesito deshacerme del prefijo de espacio de nombres x:
. ¿Cómo puedo conseguir esto?XLSX: cómo deshacerse del prefijo del espacio de nombres predeterminado x :?
using (SpreadsheetDocument doc = SpreadsheetDocument.Open("template.xlsx", true)) { //Save the shared string table part if (doc.WorkbookPart.GetPartsOfType().Count() > 0) { SharedStringTablePart shareStringPart =
doc.WorkbookPart.GetPartsOfType().First(); shareStringPart.SharedStringTable.Save(); } //Save the workbook doc.WorkbookPart.Workbook.Save(); }
En este caso, el archivo XLSX original, proviene de Excel 2007 y no tiene el prefijo, sin embargo, después de la operación de almacenamiento aparece el prefijo. ¿Cómo puedo evitar eso?
¿Por qué necesita para deshacerse del prefijo? ¿Qué problema es causado por el prefijo? –
Porque el cliente tiene algún software extraño que no puede importar el archivo con el prefijo, y no hay nada que ver con eso. Acabo de eliminar los prefijos manualmente, y se importó bien. – user116884
¿Qué le parece aplicar un paso de postproceso a su documento XSLX que elimina el prefijo y establece el espacio de nombre predeterminado apropiado? Ver también http://stackoverflow.com/questions/413050/c-how-to-remove-namespace-information-from-xml-elements/413088#413088 –