gpt4 book ai didi

asp.net - 通过 ASP.NET 替换 Word 文档中的文本

转载 作者:行者123 更新时间:2023-12-04 06:56:53 26 4
gpt4 key购买 nike

如何通过 ASP.NET 替换 Word 文档中的字符串/单词?我只需要替换文档中的几个词,所以我想远离 3rd 方插件和互操作。我想通过打开文件并替换文本来做到这一点。

进行了以下尝试:

我创建了一个 StreamReader 和 Writer 来读取文件,但我认为我正在以错误的格式读取和写入。我认为 Word 文档是以二进制形式存储的??如果word文档是二进制的,我将如何以二进制读取和写入文件?

    Dim template As String = Request.MapPath("documentName.doc")
If File.Exists(template) Then
Dim sr As New StreamReader(template)
Dim content As String = sr.ReadToEnd()
sr.Close()
Dim sw As New StreamWriter(template)
content = content.Replace("@ T O D A Y S D A T E", Date.Now.ToString("MM/dd/yyyy"))
sw.Write(content)
sw.Close()
Else

最佳答案

Word 二进制格式是 Microsoft 专有的。读取二进制格式的规范很复杂,您需要很长时间才能了解文档结构以及内部位和字节结构。我真的不认为你会在任何时候沿着这条路走下去,所以请考虑以下几点:

  • 使用 Open XML
  • 自动化 Word
  • 使用 Aspose 等第三方库
  • 使用 RTF 而不是 Doc。然后,您可以使用文本查找特定的 RTF 标签,并将其替换为另一组 RTF 文本块。如果 RTF 是可接受的格式,这可能是您想要执行的最简单的操作。

  • 个人经验,自动化 Word 并不像听起来那么糟糕。它确实不适合服务器大容量环境,但是对于较小的负载,如果您编写好的代码来管理应用程序对象和处理异常,它当然效果很好。

    编辑:更正了我最初提到的 NDA 评论。这是我在 2005/6 年从事此工作时的情况,但没有意识到 Microsoft 已决定在最近一年发布该内容。

    关于asp.net - 通过 ASP.NET 替换 Word 文档中的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2458051/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com