【问题标题】:How to edit a Word Document (.docx) stored in a SQL Server Table?如何编辑存储在 SQL Server 表中的 Word 文档 (.docx)?
【发布时间】:2011-04-06 11:50:31
【问题描述】:
如何编辑存储在 SQL Server 表中的 Word 文档 (.docx)?
这是暂定的工作流程:
- 通过 Ideablade 从 SQL 表中读取 BLOB
- 将 BLOB 以 .docx 格式写入磁盘
- 使用 Word 打开 .docx
- 用户进行更改
- 使用 Word 保存 .docx
- 将 .docx 读入 BLOB
- 通过 Ideablade 将 BLOB 写回 SQL 表
欢迎所有示例代码?
我相信已经有很多人这样做了。
关于如何简化此过程的任何其他想法?
我正在使用 VB.NET、.NET 3.5 SP1、WinForm 和 SQL Server 2008。
【问题讨论】:
标签:
vb.net
ms-word
devforce
【解决方案1】:
好吧,至于如何,这里是如何将read a blob 和write a blob 转换为SQL。虽然坦率地说,除非您有很好的理由,例如现有的备份系统,否则最好将文件存储到文件系统以及数据库中的路径和元数据。不管怎样,把它抽象到你的 BLL 中,这样你就可以在以后改变主意。
【解决方案2】:
从数据库中检索和更新 BLOB 应该不是问题,您会在网上找到很多示例代码。
解决问题的一种简单方法是在某处创建一个“临时”或“工作”目录,并使用 System.IO.FileSystemWatcher (sample code) 对其进行监视。当用户想要编辑文件时,从数据库中获取它并将其存储在目录中。每当用户保存文件时,您都会从 FileSystemWatcher 收到通知,因此您可以将其保存到数据库中。不要忘记时常清空目录。
【解决方案3】:
我认为最有效的方法是将其构建为 MS Word 本身的附加组件。示例包括 Save to Sharepoint、Save to Moodle 和其他类似的加载项。