"github.com/lukasjarosch/go-docx"{variables}

示例用法:

//img1.sycdn.imooc.com/63847c8f0001a2ee05820402.jpg

填充模板的代码:


package main


import (

    "fmt"


    docx "github.com/lukasjarosch/go-docx"

)


func main() {

    replaceMap := docx.PlaceholderMap{

        "_contract_name_": "Home rental",

        "_name_":          "John Doe",

        "_summary_":       "Terms and conditions",

        "_date_":          "13-04-2022",

        "_condition_1_":   "apartment should always be cleaned",

        "_condition_2_":   "term 2 ...",

        "_condition_4_":   "term 4 ...",

        "_condition_3_":   "term 3 ...",

        "_condition_5_":   "term 5 ...",

    }


    for i := 1; i <= 5; i++ {

        replaceMap[fmt.Sprintf("_accept_%d", i)] = "✔️"

        replaceMap[fmt.Sprintf("_reject_%d", i)] = ""

    }


    // read and parse the template docx

    doc, err := docx.Open("template.docx")

    if err != nil {

        panic(err)

    }


    // replace the keys with values from replaceMap

    err = doc.ReplaceAll(replaceMap)

    if err != nil {

        panic(err)

    }


    // write out a new file

    err = doc.WriteToFile("replaced.docx")

    if err != nil {

        panic(err)

    }

}

结果文件:

//img4.sycdn.imooc.com/63847c9d000181df05620398.jpg

"github.com/unidoc/unioffice/document"