【发布时间】:2020-01-15 19:01:20
【问题描述】:
我已将文件上传到服务器。如何使用 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”,我需要阅读第三个和第四个词。否则,我需要阅读第一个和第二个单词。 如何做到这一点?
【问题讨论】:
-
不行,word文档里面有图片怎么办,需要用office interop之类的东西
-
文件是
.DOCX文件吗?如果是这样,它是一个包(压缩的 xml),所以你不能把它当作这样的文本来阅读。您必须在 .NET 中使用 OpenXml 库。这是一个“基础”教程codeproject.com/Articles/20998/…。这里也有一些有用的 sn-ps。 stackoverflow.com/questions/1142830/…。 NPOI 也是一个选项npoi.codeplex.com(也处理.doc) -
这里的最佳解决方案取决于您的用例——您实际上需要做什么?
-
您需要指定要上传的文件类型..为了获得帮助
-
Word 有文本,但它不仅仅是一个测试文件。可以使用像 Aspose 这样的商业产品来提取文本。或者您可以使用 ifilter,但文本将只是零格式的单词。