Insérer des sauts de ligne dans Word à l'aide d'OpenXML
Je suis à l'aide d'openxml WordProcessingDocument pour ouvrir un modèle Word et remplacez l'espace réservé x1 avec une chaîne. Cela fonctionne très bien, sauf si j'ai besoin de la chaîne contienne un retour à la ligne.
Comment puis-je le remplacer x1 avec le texte peut contenir des retours à la ligne que le mot serait reconnaître? J'ai essayé \n \r mais ils ne fonctionnent pas
Juste pour expliquer plus loin, quand le mot modèle est ouvert, je l'ai lu dans un StreamReader ensuite utiliser .Remplacer pour remplacer x1.
- Ce n'est pas génial, mais:
.Replace(Environment.NewLine, "</w:t><w:br/><w:t>")
pourraient travailler pour vous. - Toute idée de ce? stackoverflow.com/questions/26307691
Vous devez vous connecter pour publier un commentaire.
Pour insérer des sauts de ligne, vous devez ajouter un
Break
instance à laRun
.Exemple:
Le XML produit sera quelque chose comme:
Break()
doit être de l'enfant de laParagraph
, pas enfant de laRun
Voici un C# fonction qui va prendre une corde, fendu sur les sauts de ligne et l'afficher dans OpenXML. Pour l'utiliser, instancier une course et la passer dans la fonction avec une chaîne.
string[ ] newlineArray = { Environment.NewLine, "\n", "\r\n", "\n\r" }
pour le faire fonctionner pour tout type de saut. 8 ans passé mais c'est toujours la meilleure réponse.J'ai le même problème et dans mon cas
<w:br />
tag travaillé.Bien que cette question est déjà répondu, j'ai une autre approche pour résoudre des questions comme :
Comment puis-je faire XXX avec OpenXML??
Dans ce cas, vous pourriez faire usage de la puissante Microsoft OpenXML outil de productivité (aussi connu comme OpenXmlSdkTool). Télécharger ici.