私はOOXML APIを使用して.docxのカスタムXML部分を更新しています。コードは、ドキュメント内のカスタムXML部分を更新します。私の問題は、コンソールアプリケーションで使用すると、同じコードが完全な.docxを置き換えて生成することですが、ASP.NETアプリケーションで使用された場合は.docxを置き換えたり生成したりしません。問題のコードスニペットは次のとおりです。OpenXMLアップデートcustomXMLPart
string tmp = string.Format("{0}.docx", Guid.NewGuid());
File.Copy(FileName, tmp);
_xml = ReadXML(XmlPath);
using (WordprocessingDocument wordDoc = WordprocessingDocument.Open(tmp, true)) {
var mainPart = wordDoc.MainDocumentPart;
mainPart.DeleteParts<CustomXmlPart>(mainPart.CustomXmlParts);
//Add a new customXML part and then add content
var customXmlPart = mainPart.AddCustomXmlPart(CustomXmlPartType.CustomXml);
//copy the XML into the new part...
using (var ts = new StreamWriter(customXmlPart.GetStream())) {
ts.Write(_xml);
ts.Flush();
}
}
私は正方形になっています。これはなぜ起こっているのですか?どんな助けもありがたいです ありがとう
同じバージョンのOpenXml SDKを使用していますか?私はCustomXML構文を取り巻くいくつかの部分がバージョン間で変更されていることを知っています。 –