如何使用 C# 从字节数组创建 Microsoft.Office.Interop.Word.Document
对象,而不将其保存到磁盘?
public static int GetCounterOfCharacter(byte[] wordContent)
{
Application objWord = new Application();
Microsoft.Office.Interop.Word.Document objDoc = new Document();
//objDoc = objWord.Documents.Open(("D:/Test.docx"); i want to create document from byte array "wordContent"
return objDoc.Characters.Count;
}
最佳答案
据我所知,没有直接的方法可以做到这一点。 Word 互操作库无法从字节流中读取。除非您正在处理巨大(或大量)文件,否则我建议您只使用 tmp 文件:
Application app = new Application();
byte[] wordContent = GetBytesInSomeWay();
var tmpFile = Path.GetTempFileName();
var tmpFileStream = File.OpenWrite(tmpFile);
tmpFileStream.Write(wordContent, 0, wordContent.Length);
tmpFileStream.Close();
app.Documents.Open(tmpFile);
我知道这不是你要找的答案,但在这种情况下(做你真正想做的事情需要相当多的时间和烦躁)可能值得考虑是否开发时间超过运行时性能。
如果您仍想按照您的预期寻找解决问题的方法,我建议您在 this 中找到答案。线程。
关于c# - 如何从字节数组创建 Microsoft.Office.Interop.Word.Document 对象,而不将其保存到磁盘?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13227828/