【问题标题】:How to embedd Word 2007 document in ASP.NEt project如何在 ASP.NET 项目中嵌入 Word 2007 文档
【发布时间】:2014-03-25 02:43:51
【问题描述】:

我有一个简洁的类,它能够基于 Datarow 对象合并 Word 文档中的字段,该对象包含将 Word 2007 docx 模板转换为真实 Word 文档所需的数据,并将数据嵌入 Word 文档中,并使用OpenXML(忘记互操作!)。这对我有用。 但是,在 Visual Studio 2005 中将模板加载到我的 asp.net (.net2) 项目中时,我感到非常痛苦。每次我认为我已经将 Word 文档“嵌入”到项目中时,当我尝试访问它时,我得到了这个异常......

值不能为空。

参数名称:模板文件不存在。

此错误出现在资源项目(在 VS2008 中编译)DLL 文件中,该文件在继续之前检查文件是否存在。我知道这是问题的原因,但是当我知道文件在那里时,为什么 Fileinfo.Exists 总是错误的!?该文件与项目所在的服务器位于同一服务器中,但与项目位于不同的位置。

所以问题真的应该说,为什么 Fileinfo.Exists 总是返回 false。

无论如何,我需要将这个 Word 文档存储在项目本身中,所以我的另一个需要是知道如何在我的 asp.net 项目中嵌入一个 Word 文档,以将其“包含”在同一个解决方案中,并且让 Fileinfo 识别它确实存在。

谢谢

【问题讨论】:

  • 为什么在 2014 年中期使用 Visual Studio 20015?为什么在有 .NET 4.5 的情况下使用 .NET 2.0?这并没有真正的原因。
  • 哈哈。伙计,你为任何人工作吗?因为如果你这样做了,而他们碰巧想继续使用旧技术,你会坚持让你的老板升级吗!?有人可以在这里帮助我,而不是用另一个问题回答一个问题吗?

标签: asp.net ms-word visual-studio-2005 .net-2.0 mergefield


【解决方案1】:

我找到了!

它只是使用 Add Existing 将文件添加到我现有的项目中......

然后我将文件放在我的项目(任何文件夹)内的一个文件夹中,并简单地用 ... 引用它

    System.IO.File.Exists(Server.MapPath("FeedbackFormTemplate.docx"));

这会生成一个完整的路径和文件名,扩展名可以在项目的其他地方使用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-26
    相关资源
    最近更新 更多