c# - 如何使用 Microsoft.Office.Interop.Word 将 byte[] 从 dtb 转换为文档
问题描述
我有来自数据库的 byte[] 以前是 .docx。现在我想取回这个 .docx 并使用 Interop.Word 使用它。我遵循了许多教程如何做到这一点,但总是以:文件似乎已损坏。我试过什么:
1.
var tmpFile = Path.GetTempFileName();
File.WriteAllBytes(tmpFile, fileBytes);
Application app = new Application();
Document doc = app.Documents.Open(tmpFile);
2.
var tmpFile = Path.GetTempFileName();
FileInfo fileInfo = new FileInfo(tmpFile);
fileInfo.Attributes = FileAttributes.Temporary;
File.WriteAllBytes(tmpFile, fileBytes);
Application app = new Application();
Document doc = app.Documents.Open(tmpFile);
3.
var tmpFile = Path.GetTempFileName();
string newPath = tmpFile.Replace(".tmp", ".docx");
File.Move(tmpFile, newPath);
File.WriteAllBytes(newPath, fileBytes);
Application app = new Application();
Document doc = app.Documents.Open(newPath);
每个人似乎都这样做,它适用于他们,但不适用于我。
解决方案
推荐阅读
- laravel - 在存储函数 laravel 中添加值
- flutter - 如何在 FLUTTER 的 onTap 事件中更改 Container 的颜色和文本
- html - 如何通过按钮单击角度 8 中的 ngFor 表将对象推送到新数组
- javascript - 如何在 amCharts 上同时显示月份和年份?
- c++ - 使用flock(2)锁定文件时,为什么要创建锁定文件?
- google-apps-script - Gmail 加载项错误:SubmitFormResponseMarkup 不允许使用值:card_navigations
- dns - OVH 专用服务器上的高可用性
- xcode - 在最新的 Xcode 版本 11.2.1 中找不到 iPhone 7、iPhone 7 Plus 和更低模式的设备
- macos - 总是得到 kSecTrustResultRecoverableTrustFailure,即使在 Keychain Access 中更改了信任设置后也是如此
- node.js - 如何在节点 js 中向特定客户端(基于 deviceId)发出套接字数据?