从ASP.NET自动导入MS Word文档
我手头有一个复杂的问题 我开发了一个程序,从数据库中获取一些信息,并将其插入word文档中。执行此操作后,它将word文档保存在服务器上,程序用户可以下载自动填充的文档 我使用类Microsoft.Office.Interop.Word来解决此任务,但要在x64服务器或x64工作站上运行此任务是不可能的 有没有其他方法来完成这项任务?我需要文件能够在Word中打开。我不在乎它是否是由OpenOffice之类的东西生成的 有人知道不使用Interop.Word类解决此问题的方法吗 更新(解决方案): 以下是我最后做的: 我将要用作模板的wordfile保存为XML文件 然后我使用这个小函数:从ASP.NET自动导入MS Word文档,asp.net,ms-word,Asp.net,Ms Word,我手头有一个复杂的问题 我开发了一个程序,从数据库中获取一些信息,并将其插入word文档中。执行此操作后,它将word文档保存在服务器上,程序用户可以下载自动填充的文档 我使用类Microsoft.Office.Interop.Word来解决此任务,但要在x64服务器或x64工作站上运行此任务是不可能的 有没有其他方法来完成这项任务?我需要文件能够在Word中打开。我不在乎它是否是由OpenOffice之类的东西生成的 有人知道不使用Interop.Word类解决此问题的方法吗 更新(解决方案)
public void TestEditContract(string path)
{
XmlDocument document = new XmlDocument();
TextReader reader = File.OpenText(path + "\\wordfile.xml");
string allxml = reader.ReadToEnd();
reader.Close();
allxml = allxml.Replace("placeholder1", "Some content");
document.LoadXml(allxml);
document.Save(path + "\\wordfile.doc");
}
最后,我只需将其保存为.doc文件,它就像一个符咒:)
这是一个有点黑客,但它的工作非常好,是服务器独立。谢谢你为我指明了正确的方向。当你需要一辆跑车时,你会有一辆凯迪拉克。当您可以通过缓冲流将文档传递给服务器时,为什么要将文档保存到服务器?以下是通过缓冲区传递导出Word文档的一种非常好的方法,无需依赖项:
没有依赖项,就不需要担心服务器的体系结构。另外,当您通过缓冲区提供文件时,您没有授予asp.net用户对文件结构的访问权限,因此它更安全。我听说了一些关于Word XML的内容,但是我不知道从哪里开始,也不知道它是否能解决我的问题。请看Word将打开带有.doc扩展名和内部样式表的HTML。是的,我使用了一个非常简单的解决方案。我将模板保存为xml,并用阅读器加载文档。已编辑并另存为.doc:)