C# Writing Excel Arquivo como XML
Pergunta
Estou escrevendo um arquivo XML a ser consumido pelo Excel.
Excel quer isso:
<Cell><Data ss:Type="Number">25</Data></Cell>
Estou escrevendo isso ...
<Cell>
<Data ss:Type="Number">25</Data>
</Cell>
Eu entendo que o Excel é exigente, mas como estou usando o XELELENTS, como controlar a formatação da saída?
Aqui está o meu código para escrever uma célula.
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 );
}
Como faço para que isso produza a célula e os dados na mesma linha?
Obrigado,
Cal-
Solução
Olha isso: Método Xelement.Save
Se você deseja salvar o XML recuado, não especifique o Desativar formação sinalizador para opções. Isso removerá todo o espaço branco insignificante estranho e adicionará um espaço branco insignificante apropriado para que o XML seja corretamente recuado. Esse é o comportamento padrão e o comportamento das sobrecargas dos métodos de salvamento que não tomam opções como um parâmetro.
Para mais informações, veja Preservando o espaço em branco enquanto carrega ou Analisar xml e preservar o espaço em branco enquanto serializa.