C# Escribir archivo de Excel como XML
Pregunta
Estoy escribiendo un archivo XML para ser consumido por Excel.
Excel quiere esto:
<Cell><Data ss:Type="Number">25</Data></Cell>
Estoy escribiendo esto ...
<Cell>
<Data ss:Type="Number">25</Data>
</Cell>
Entiendo que Excel es quisquilloso, pero como estoy usando Xelelments, ¿cómo controlo el formato de la salida?
Aquí está mi código para escribir una celda.
foreach( var propertyInfo in fi )
{
XElement oneCell = new XElement( root + "Cell",
new XElement( root + "Data",
new XAttribute( ss + "Type", "String" ), propertyInfo.GetValue( cv, null )
)
);
oneRow.Add( oneCell );
}
¿Cómo hago que eso genere la celda y los datos en la misma línea?
Gracias,
California-
Solución
Mirar esto: XELEMENT.SAVE Método
Si desea guardar XML de sangría, no especifique el Deshabilitar la información bandera para opciones. Esto eliminará todo el espacio en blanco insignificante extraño y agregará espacio en blanco insignificante apropiado para que el XML esté correctamente sangrado. Este es el comportamiento predeterminado y el comportamiento de las sobrecargas de los métodos de guardado que no toman opciones como parámetro.
Para más información, ver Preservar espacio en blanco mientras carga o Analizar XML y preservar el espacio en blanco mientras es serializa.