【问题标题】:How to read content from a docx file after upload that file using c#?使用c#上传文件后如何从docx文件中读取内容?
【发布时间】:2019-11-28 10:02:48
【问题描述】:

我有一个从 docx 文件中读取数据的代码,它在 localhost 中可以正常工作,但是在托管之后就不能读取数据了。

public static string GetTextFromWord(string paths)
    {
        StringBuilder text = new StringBuilder();
        Microsoft.Office.Interop.Word.Application word = new Microsoft.Office.Interop.Word.Application();
        object miss = System.Reflection.Missing.Value;
        object path = paths;

        object readOnly = true;
        Microsoft.Office.Interop.Word.Document docs = word.Documents.Open(ref path, ref miss, ref readOnly, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss);

        for (int i = 0; i < docs.Paragraphs.Count; i++)
        {
            text.Append(" \r\n " + docs.Paragraphs[i + 1].Range.Text.ToString());
        }

        return text.ToString();

    }

【问题讨论】:

  • 您假设 您的托管服务器上安装了 Microsoft Office。情况很可能并非如此(并且有充分的理由)。
  • 有可能吗?我在 godaddy 上托管我的网站。
  • 您需要询问您的提供商,但我不明白他们为什么会在其中一台服务器上安装像 Office 这样的用户软件包。您可能想选择另一种方法来阅读 Word 文档。最好是不需要安装 Office 软件的。
  • This 例如看起来很有希望。

标签: c# asp.net asp.net-mvc-4 c#-4.0 docx


【解决方案1】:

Microsoft.Office.Interop.Word.Application 是 Microsoft Office 的主要互操作程序集 (PIA) 的一部分,它要求在计算机上安装 Microsoft Office(特别是 Word)。 PIA 主要针对桌面自动化(例如 Word 插件或其他增强 Office 体验的工具)。

在您的情况下,您似乎想在 服务器 上解析 Word 文档。为此,您不需要实际安装 Word,这很好,因为它为您节省了许可证以及在(共享)服务器环境上安装 Office 所涉及的任何其他麻烦。

您可以使用诸如DocX 之类的开源库从Word 文档中提取数据。另一个选项是Microsoft's own Open XML SDK

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-11-26
    • 2013-05-04
    • 2012-01-29
    • 1970-01-01
    • 2018-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多