如何使用字符串生成器读取word文档内容
本文关键字:word 文档 读取 何使用 字符串 | 更新日期: 2023-09-27 18:27:58
我已经将一个文件上传到服务器中。我如何使用c#来读取内容并显示它。我使用字符串生成器提取内容,并将其显示在多行文本框中。
我使用的代码是:-
string[] readText = File.ReadAllLines(path);
StringBuilder strbuild = new StringBuilder();
foreach (string s in readText)
{
strbuild.Append(s);
strbuild.AppendLine();
}
txtPreview.Text = strbuild.ToString();
这样做的问题是,在顶部和底部显示了某种额外的不可读字符,可能是某种加密文本。如何删除这些字符,并只显示内容?
Microsoft.Office.Interop.Word.Document doc = Application.Documents.Open(ref file, ref nullobj, ref nullobj,
ref nullobj, ref nullobj, ref nullobj,
ref nullobj, ref nullobj, ref nullobj,
ref nullobj, ref nullobj, ref nullobj,
ref nullobj, ref nullobj, ref nullobj, ref nullobj);
doc.Activate();
string Doc_Content = doc.Content.Text;
string str = Doc_Content;
var words = str.Split(new char[] { ' ', ':', ''r', ''t' });
for (int i = 0; i < words.Length; i++)
{
string val1 = words[i].ToString();
}
更新:我使用的是Microsoft Interop库,并且我能够在多行文本框中显示word文档的内容
我创建了一个字符串变量str来保存word文件的所有内容。和一个数组单词[]来存储这些单词。我现在面临的问题是:-读单词。如果第一个单词是"你好",我需要读第二个和第三个单词。如果第一个单词是"你好",第二个单词是"世界",我需要读第三个和第四个单词。其他方面,我需要阅读第一个和第二个单词。如何做到这一点?
Word文档不是基本文本。根据版本的不同,它们要么是"Packages"(压缩xml),要么是自定义二进制格式。因此,您要么需要打开包并读取xml(不建议),要么使用库。
作为.NET框架的一部分,OpenXml将使您能够打开Word.docx文件并使用它们。这个例子中有一些有用的片段。如果你不想遵循Msft文档,你也可以找到这样的基础教程。
有一些像NPOI这样的非msft库可以帮助处理.doc
和.docx
文件。
若要使用interop,您需要在处理文档的服务器上安装office。为了这个目的运行单词headless是可能的。然而,我个人不建议这样做。