我正在开发一个项目,我必须为用户提供一个文本框,他可以在其中手动输入值或直接导入word文件。如果用户手动输入输入,则项目正常工作,但如果上载word文件则失败 我使用此代码从word文件中获取文本:
Microsoft.Office.Interop.Word.ApplicationClass wordApp = new Microsoft.Office.Interop.Word.ApplicationClass();
object file = RequirementsFile.Text;// Specify path for word file
object nullobj = System.Reflection.Missing.Value;
Microsoft.Office.Interop.Word.Document doc = wordApp.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.ActiveWindow.Selection.WholeStory();
doc.ActiveWindow.Selection.Copy();
//FileClose(doc);
doc.Close(ref nullobj, ref nullobj, ref nullobj);
IDataObject data = Clipboard.GetDataObject();
string allText = data.GetData(DataFormats.Text).ToString();
requirements.Text = "";
requirements.Text += allText;
在文本框中加载文本后,如果用户在文本框中编辑任何内容,则不会更新..如何做到这一点..?
答案 0 :(得分:2)
问题解决了。由于我处理文本要求,文本上传的格式也很重要。应小心处理换行符和制表符。使用正则表达式替换来处理\ n,\ t,\ r \ n。
答案 1 :(得分:1)