我将整个 MS Word 文件本身保存到一个字节数组中。我想以我在文件系统上的方式加载它,但最少使用 Microsoft.Office.Interop.Word,因为它在获取时非常慢该.Open(args[])
部分。
问问题
17254 次
3 回答
4
尝试这个....
byte[] bte = File.ReadAllBytes("E:\\test.doc"); // Put the Reading file
File.WriteAllBytes(@"E:\\test1.doc", bte); // Same contents you will get in byte[] and that will be save here
于 2013-08-12T10:33:58.213 回答
2
没有支持的方法可以使用Interop.Word立即执行此操作,因为没有支持字节数组的方法。
作为一种可行的解决方法,您可以通过以下方式使用临时文件:
// byte[] fileBytes = getFileBytesFromDB();
var tmpFile = Path.GetTempFileName();
File.WriteAllBytes(tmpFile, fileBytes);
Application app = new word.Application();
Document doc = app.Documents.Open(filePath);
// .. do your stuff here ...
doc.Close();
app.Quit();
byte[] newFileBytes = File.ReadAllBytes(tmpFile);
File.Delete(tmpFile);
更多信息,请阅读我博客上的这篇文章。
于 2017-05-03T14:16:46.483 回答
-2
该方法public static byte[] ReadAllBytes(
string path
)
将所有文件信息返回到一个字节数组中。您不必担心流,正如 MSDN 文档所说:
“给定文件路径,此方法打开文件,将文件内容读入字节数组,然后关闭文件。”
如果您想了解更多信息,请查看此链接
于 2013-08-12T11:59:53.983 回答