我希望能够读取office文档的内容(对于自定义爬网程序)。
需要具备可读性的办公版本为2000至2007年。我主要想抓取文字,excel和powerpoint文档。
我不想检索格式,只想检索其中的文本。
爬虫是基于c#的lucene.NET的,如果它有一些帮助的话。
我已经用iTextSharp来解析PDF了。
发布于 2008-09-22 15:39:17
这是一个由Krishnan LN编写的nice little post on c-charpcorner,它给出了使用Word主互操作程序集从Word文档中获取文本的基本代码。
基本上,您从Word文档中获取"WholeStory“属性,将其粘贴到剪贴板,然后将其从剪贴板中拉出,同时将其转换为文本格式。剪贴板步骤大概是为了去掉格式。
对于PowerPoint,您做了类似的事情,但是您需要循环遍历幻灯片,然后对于每个幻灯片循环遍历形状,并在每个形状中获取"TextFrame.TextRange.Text“属性。
对于Excel,因为Excel可以是一个OleDb数据源,所以使用ADO.NET是最简单的。
发布于 2008-09-22 15:59:32
如果您已经在使用Lucene.NET,那么您可能只想利用已有的各种IFilters来做这件事。看看开放源码的SeekAFile项目。它将向您展示如何使用IFilter从任何可用IFilter的文件类型中打开和提取此信息。有适用于Word、Excel、Powerpoint、PDf和大多数其他常见文档类型的IFilters。
发布于 2008-09-22 15:31:28
有一个优秀的开源项目POI,唯一的缺点是它是为Java编写的。在某种程度上,.net port是非常测试版的。
https://stackoverflow.com/questions/115445
复制相似问题