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

时间:2012-12-13 12:55:36

标签: c# asp.net

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);
}

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

抛出异常Could not find file 'C:\Program Files (x86)\Common Files\Microsoft Shared\DevServer\10.0\tr.docx'.

有什么建议吗?

2 个答案:

答案 0 :(得分:3)

如果您想逐行阅读,请使用以下代码:

// 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();`

答案 1 :(得分:0)

用户计算机上的文件或托管Web应用程序的服务器是?

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

过去,当我需要让用户将文件上传到我的网络应用程序时,我使用了plupload jquery control。与mvc一起使用非常简单。这里有别人的堆栈溢出问题,可以帮助你弄清楚如何使用它... Using plupload with MVC3