0

我已将文件上传到服务器。如何使用 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 互操作库,并且能够将 word 文档的内容显示到多行文本框中。

我创建了一个字符串变量 str 来保存 word 文件的所有内容。和一个数组 word[] 来存储单词。我现在面临的问题是: - 阅读文字。如果第一个词是“你好”,我需要阅读第二个和第三个词。如果第一个词是“hello”,第二个词是“world”,我需要阅读第三个和第四个词。否则,我需要阅读第一个和第二个单词。如何才能做到这一点?

4

1 回答 1

4

Word 文档不是基本文本。根据版本,它们是“包”(压缩 xml)或自定义二进制格式。因此,您需要打开包并阅读 xml(不建议)或使用库。

作为 .NET 框架的一部分的 OpenXml 将使您能够打开 Word.docx 文件并使用它们。此示例中有一些有用的片段。如果您不想遵循Msft 文档,也可以找到类似基础教程。

有像NPOI.doc这样的非 msft 库对文件和文件都有帮助.docx

要使用互操作,您需要在处理文档的服务器上安装 office。为此,可以无头运行 word。不过,我个人是不推荐的。

于 2013-08-17T13:08:03.643 回答