3
我正在编写一个项目,它允许您直接从该站点编辑.docx文档(我有一个需要编辑的模板)并将它们保存到你的电脑。 我在保存文件中已编辑的所有信息时遇到问题。使用OpenXML&MemoryStream在ASP.NET程序中编辑和保存.docx
using (MemoryStream memoryStream = new MemoryStream())
{
memoryStream.Write(byteArray, 0, byteArray.Length);
using (WordprocessingDocument wDoc = WordprocessingDocument.Open(memoryStream, true))
{
string docText = null;
using (StreamReader sr = new StreamReader(wDoc.MainDocumentPart.GetStream()))
{
docText = sr.ReadToEnd();
}
var senderData = Sender_Textbox.Text;
var receiverData = Receiver_Textbox.Text;
var subjectData = Subject_Textbox.Text;
var contentData = Content_Textbox.Text;
docText = ReplaceData(docText, "receiver", receiverData);
docText = ReplaceData(docText, "sender", senderData);
docText = ReplaceData(docText, "subject", subjectData);
docText = ReplaceData(docText, "content", contentData);
using (StreamWriter sw = new StreamWriter(wDoc.MainDocumentPart.GetStream(FileMode.Create)))
{
sw.Write(docText);
}
}
Session["ByteArray"] = memoryStream.ToArray();
}
static string ReplaceData(string docText, string oldText, string newText)
{
var regexText = new Regex(oldText);
return regexText.Replace(docText, newText);
}
我以前this教程从Office开发中心,它运作良好,在离线的解决方案。使用StreamWriter的部分不起作用,我下载了一个根本没有改变的文档。如何将我在线编辑的所有信息保存在wDoc中?