我想从Word文件中读取文本。它在localhost上正常工作,但是当我在线运行它时,我得到了这个错误:
无法加载文件或程序集'office,Version = 12.0.0.0, Culture = neutral,PublicKeyToken = 71e9bce111e9429c'或其中一个 依赖。系统找不到指定的文件。
我的代码:
Application Objword = new Application();
Document objdoc = new Document();
dynamic FilePath = fileLoc;
dynamic NA = System.Type.Missing;
objdoc = Objword.Documents.Open(ref FilePath, ref NA, ref NA, ref NA, ref NA,ref NA, ref NA, ref NA, ref NA,
ref NA, ref NA, ref NA, ref NA,ref NA, ref NA, ref NA);
StringBuilder sb = new StringBuilder();
for (int Line = 0; Line < objdoc.Paragraphs.Count; Line++)
{
string Filedata = objdoc.Paragraphs[Line + 1].Range.Text.Trim();
if (Filedata != string.Empty)
{
//Append word files data to stringbuilder
sb.AppendLine(Filedata);
}
}
((_Document)objdoc).Close();
((_Application)Objword).Quit();
TextBox1.Text = Convert.ToString(sb);
我还将dll文件放在bin文件夹中,版本相同但仍然出错。
答案 0 :(得分:0)
在服务器上运行办公室似乎是一个非常奇怪的问题。建议您需要在服务器上安装与开发计算机中相同版本的office。因为除了interop dll之外,你还需要的不仅仅是DLL。
此外,逐步执行代码并检查它失败的位置,可能是,interop在代码中的某处返回错误并返回另一个错误。
例如,如果错误消息在第一行,那么它与DLL文件有关,但是,如果它在某处失败,那么该调用将给出错误而不是DLL的实际加载。 / p>