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-

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top