我使用OPENXML WordProcessingDocument打開Word模板,並用字符串替換佔位符X1。這工作正常,除非我需要字符串來包含換行符。 我怎麼能代替X1文本可能包含單詞會認換行?我曾嘗試\ n \ r但這些不工作使用換行符OpenXML的
剛到Word模板被打開,當我讀入一個StreamReader然後使用.Replace來代替X1進一步解釋。
我使用OPENXML WordProcessingDocument打開Word模板,並用字符串替換佔位符X1。這工作正常,除非我需要字符串來包含換行符。 我怎麼能代替X1文本可能包含單詞會認換行?我曾嘗試\ n \ r但這些不工作使用換行符OpenXML的
剛到Word模板被打開,當我讀入一個StreamReader然後使用.Replace來代替X1進一步解釋。
要插入新行,你有一個Break
實例添加到Run
。
例子:
run.AppendChild(new Text("Hello"));
run.AppendChild(new Break());
run.AppendChild(new Text("world"));
生產的將是這樣的XML:
<w:r>
<w:t>Hello</w:t>
<w:br/>
<w:t>world</w:t>
</w:r>
下面是將一個字符串,將它在換行,呈現在OpenXML的一個C#的功能。要使用,實例化一個Run並將其傳遞給帶有字符串的函數。
void parseTextForOpenXML(Run run, string textualData)
{
string[ ] newLineArray = { Environment.NewLine };
string[ ] textArray = textualData.Split(newLineArray, StringSplitOptions.None);
bool first = true;
foreach (string line in textArray)
{
if (! first)
{
run.Append(new Break());
}
first = false;
Text txt = new Text();
txt.Text = line;
run.Append(txt);
}
niceeeee解決方案的孩子的孩子,感謝的很多,我用的時候,我字符串包含\ n \這個解決方案r – jiji2663 2014-12-07 14:34:04
Altough這個問題已經回答了我有另一種方法來解決這樣的問題:
我怎樣才能讓XXX與OpenXML的?
在這種情況下,你可以利用強大的微軟的OpenXML的生產力工具(又稱OpenXmlSdkTool)的。 Download here.
這是一個很好的答案!我在研究了一些棘手的開放xml位後,不得不穀歌幾乎每個元素的內部工作。有一個工具,可以輸出技巧位並粘貼他們是一個主要的節省時間,謝謝。 – dougajmcdonald 2015-12-11 09:52:58
這不是真棒,但:'.Replace(Environment.NewLine,「」)'可能適合你。 –
BrainSlugs83
2013-12-07 09:52:40
@ BrainSlugs83:對此有何想法? http://stackoverflow.com/questions/26307691 – slayernoah 2014-10-10 21:13:01