私は、CustomXMLPartファイルを書き換えてワードドキュメントを更新しています。私は基本的には、このチュートリアルに従ってきました:http://blogs.msdn.com/b/brian_jones/archive/2009/01/05/taking-advantage-of-bound-content-controls.aspxCustomXMLPartの改行
private bool _makeDoc()
{
var path = HttpContext.Current.Server.MapPath("~/Classes/Word/template.docx");
using (WordprocessingDocument myDoc = WordprocessingDocument.Open(path, true))
{
//create new XML string
//these values will populate the template word doc
string newXML = "<root>";
newXML += "<name>";
newXML += "name goes here";
newXML += "</name>";
newXML += "<bio>";
newXML += "text" + "more text";
newXML += "</bio>";
newXML += "</root>";
MainDocumentPart mainPart = myDoc.MainDocumentPart;
//delete old xml part
mainPart.DeleteParts<CustomXmlPart>(mainPart.CustomXmlParts);
//add new xml part
CustomXmlPart customXml = mainPart.AddCustomXmlPart(CustomXmlPartType.CustomXml);
using(StreamWriter ts = new StreamWriter(customXml.GetStream()))
{
ts.Write(newXML);
}
myDoc.Close();
}
return true;
}
問題は、私は「テキスト」と「複数のテキスト」の間に改行を追加する方法を見つけ出すことができないということです。私はEnvironment.NewLineを試しました、私は<w:p><w:r><w:t>
タグでそれをラップしようとしました。私はそれが有効なdocxファイルを生成するように見えることはできません。
ご協力いただければ幸いです。
は、Word文書をデバッグするためのツールのいくつかの並べ替えがあり、またはあなただけのブラウザフラグを無効を聞かせピース? –
@Cory OOXML SDK 2.0には、IEのようなものでXMLを開くより役立つバリデーションツールが組み込まれています。私は私の応答にリンクを追加します。 –
Brandonに感謝します。私はXMLを見てみましたが、document.xmlにはデータバインディングタグがあるだけなので、それは役に立ちませんでした。しかし、私はさらに簡単な答えを発見した、私はそれを投稿します。 –