Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net c#逐行读取word文档_C#_Asp.net - Fatal编程技术网

Asp.net c#逐行读取word文档

Asp.net c#逐行读取word文档,c#,asp.net,C#,Asp.net,这里的UploadContacts是文件上载控件。我正在通过这个上传一个文档文件。我的目标是逐行阅读word文档并进入另一个功能,但它不起作用 引发异常找不到文件“C:\Program Files(x86)\Common Files\Microsoft Shared\DevServer\10.0\tr.docx”。 有什么建议吗?是用户计算机上的文件还是承载web应用程序的服务器上的文件 因为你说用户正在上传一个文件,我得到的印象是用户正在选择他们机器上的路径。请记住,您的c#代码正在其他地方的

这里的
UploadContacts
是文件上载控件。我正在通过这个上传一个文档文件。我的目标是逐行阅读word文档并进入另一个功能,但它不起作用

引发异常
找不到文件“C:\Program Files(x86)\Common Files\Microsoft Shared\DevServer\10.0\tr.docx”。


有什么建议吗?

是用户计算机上的文件还是承载web应用程序的服务器上的文件

因为你说用户正在上传一个文件,我得到的印象是用户正在选择他们机器上的路径。请记住,您的c#代码正在其他地方的服务器上执行。它不能直接访问用户计算机(除非它位于共享网络上)


在过去,当我需要用户将文件上传到我的web应用程序时,我会使用。使用mvc非常简单。下面是其他人提出的堆栈溢出问题,将帮助您了解如何使用它

如果要逐行读取,请使用以下代码:

string line;
string path = UploadContacts.PostedFile.FileName;
var reader = new StreamReader(path);

while ((line = reader.ReadLine()) != null)
{
    var link = line;

    if (link != string.Empty)
    {
        // another functionality ;
    }
    Console.WriteLine(line);
}
//循环浏览文档中的所有行。
应用程序=新应用程序();
Document Document=application.Documents.Open(“C:\\new folder\\word.docx”);
String read=String.Empty;
列表数据=新列表();
对于(int i=0;i
这种例外情况还不够明确吗?Word文档不是纯文本文档,因此即使您让流媒体正常工作(将其放入流中),您也无法阅读任何内容。@sphair,如果它是
.doc
,您将是正确的,但是
.docx
是XML,因此可以作为纯文本读取document@freefaller:docx是一个zip文件,其内部文件为xml格式。事情并不是那么简单。也就是说,我认为OP想要读取文档的内容,而读取xml并不是很有用。仅供参考,OpenXMLSDK可以帮助您提取文档的相关部分哦,我不知道-谢谢:)
// Loop through all lines in the document.

Application application = new Application();
Document document = application.Documents.Open("C:\\new folder\\word.docx");
                   String read = string.Empty;
        List<string> data = new List<string>();
        for (int i = 0; i < document.Paragraphs.Count; i++)
        {
            string temp = document.Paragraphs[i + 1].Range.Text.Trim();
            if (temp != string.Empty)
                data.Add(temp);
        }
        // Close word.
        application.Quit();`