保存word文档的例外情况

时间:2017-05-17 19:01:32

标签: c# .net openxml

当我执行以下代码以在发生异常后保存word文件。请帮助我纠正问题。谢谢。

当访问为FileAccess.Read时,无法使用FileMode.Create,FileMode.CreateNew,FileMode.Truncate,FileMode.Append获取流。

using (WordprocessingDocument wordDoc = WordprocessingDocument.Open(path, false))
{
    string docText = null;
    using (StreamReader sr = new StreamReader(wordDoc.MainDocumentPart.GetStream()))
    {
        docText = sr.ReadToEnd();
    }

    //Regex regexText = new Regex("<var_Date>");
    docText = docText.Replace("<var_Date>", DateTime.Now.ToString("MMM dd,yyyy"));

    using (StreamWriter sw = new StreamWriter(wordDoc.MainDocumentPart.GetStream(FileMode.Create)))
        sw.Write(docText);
} 

1 个答案:

答案 0 :(得分:5)

就在这里:

WordprocessingDocument.Open(path, false))

第二个参数是isEditable,你传递了false。所以你把它打开为只读。

参考:https://msdn.microsoft.com/en-us/library/cc562234.aspx