HIII
我希望从Microsoft Word文件中获取内容 Microsoft.Office.Interop dll使用。
我也使用这段代码,但它只读取.xml文件和.txt文件中的文本而不是.doc文件
using System.IO;
using(StreamReader streamReader = new StreamReader(filePath)) { string text = streamReader.ReadToEnd(); }
答案 0 :(得分:1)
从Office 2007开始,microsoft使用“Office Open XML”格式来保存office文件。要解析docx文件,请将其扩展名重命名为zip(例如untitled1.docx.zip)并提取其内容(使用任何zip应用程序/库)。
您将获得一些文件和文件夹,导航到'word'文件夹,只需读取名为'document.xml'的文件。
此文件包含文档的所有文本信息(它是xml格式的,因此请务必正确解析)。
如果要提取2007之前文件的文本信息(例如'doc'文件),则必须使用Microsoft Office Compatibility Pack,将文件迁移到新格式(可以通过编程方式使用,读取关于它)
答案 1 :(得分:0)
使用添加参考添加命名空间 - >浏览 - > Code7248.word_reader.dll。
从给定网址下载dll:
sourceforge.net/p/word-reader/wiki/Home/
(一个简单的.NET库,与C ++的.NET 2.0,3.0,3.5和4.0兼容。它目前只能从.doc或.docx文件中提取原始文本。)
示例代码位于C#中的简单控制台:
using System;
using System.Collections.Generic;
using System.Text;
//add extra namespaces
using Code7248.word_reader;
namespace testWordRead
{
class Program
{
private void readFileContent(string path)
{
TextExtractor extractor = new TextExtractor(path);
string text = extractor.ExtractText();
Console.WriteLine(text);
}
static void Main(string[] args)
{
Program cs = new Program();
string path = "D:\Test\testdoc1.docx";
cs.readFileContent(path);
Console.ReadLine();
}
}
}
它与doc& docx formet文件。