Question

J'écris un fichier XML à consommer par Excel.

Excel veut ceci:

<Cell><Data ss:Type="Number">25</Data></Cell> 

J'écris ceci ...

<Cell>
   <Data ss:Type="Number">25</Data>
</Cell>

Je comprends que Excel est pointilleux, mais comme j'utilise des xelments, comment puis-je contrôler le formatage de la sortie?

Voici mon code pour écrire une cellule.

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 );

                }

Comment puis-je faire en sorte que la cellule et les données sur la même ligne?

Merci,

Cal-

Était-ce utile?

La solution

Regarde ça: Méthode Xelement.Save

Si vous souhaitez enregistrer XML en retrait, ne spécifiez pas le Désactiver drapeau pour les options. Cela éliminera tout l'espace blanc insignifiant étrangement et ajoutera un espace blanc insignifiant approprié afin que le XML soit correctement en retrait. Il s'agit du comportement par défaut et du comportement des surcharges des méthodes de sauvegarde qui ne prennent pas d'options comme paramètre.

Pour plus d'informations, voir Préserver l'espace blanc lors du chargement ou Analyser XML et préserver l'espace blanc tout en sérialisant.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top