我有一个简单的代码可以将一些文本写入.docx文件。
using (FileStream fs = new FileStream(filepath, FileMode.Open))
using (StreamWriter sw = new StreamWriter(fs, Encoding.Unicode))
{
sw.WriteLine("something");
}
这会写入文件,但是当我尝试使用MsWord打开文件时,它会出错
microsoft office无法打开此文件,因为某些部分缺失 或无效
但如果我尝试用wordpad或记事本打开同一个文件,它会打开并正确写入文本。为什么会这样?
答案 0 :(得分:0)
.doc和.docx文件实际上不仅仅是纯文本文件。它们具有相当复杂的文件格式。因此,当您将纯文本放入文件并将其命名为something.docx
时,Word将期望格式正确的Word文件。
如果您想撰写正确的docx文件,请参阅此问题:How do I create the .docx document with Microsoft.Office.Interop.Word?