我有一个字节流,它实际上(如果放对了)将形成一个有效的Word文件,我需要将这个流转换为Word文件而不将其写入磁盘,我从SQL Server数据库表中获取原始流:
ID Name FileData
----------------------------------------
1 Word1 292jf2jf2ofm29fj29fj29fj29f2jf29efj29fj2f9 (actual file data)FileData字段承载数据。
Microsoft.Office.Interop.Word.Application word = new Microsoft.Office.Interop.Word.Application();
Microsoft.Office.Interop.Word.Document doc = new Microsoft.Office.Interop.Word.Document();
doc = word.Documents.Open(@"C:\SampleText.doc");
doc.Activate();上面的代码从文件系统打开并填充一个Word文件,我不想这样,我想定义一个新的Microsoft.Office.Interop.Word.Document,但我想从字节流手动填充它的内容。
在获得内存中的Word文档之后,我想对关键字进行一些解析。
有什么想法吗?
发布于 2011-08-14 20:48:58
需要注意的一点是:将文件存储在数据库中通常不是一个好的设计。
发布于 2011-08-15 03:23:23
可能没有任何简单的方法可以做到这一点。我在搜索中发现了几个解决方案:
我不知道这对你是否有用,但显然API并没有提供你想要的东西(不幸的是)。
发布于 2011-08-15 04:51:41
你可以看看Sharepoint是如何解决这个问题的。他们为存储在数据库中的文档创建了一个web界面。
在您的应用程序中创建或嵌入可以为Word提供页面的can服务器并不是那么困难。您甚至不需要使用标准端口。
https://stackoverflow.com/questions/7056852
复制相似问题