package main
import (
"fmt"
docx "github.com/lukasjarosch/go-docx"
)
func main() {
replaceMap := docx.PlaceholderMap{
"wilson1": "wilson",
"wilson": "4205234243",
"wilson2": "Terms and conditions",
"wilson3": "13-04-2022",
"wilson4": "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 <= 2; i++ {
replaceMap[fmt.Sprintf("_accept_%d", i)] = "✔️"
replaceMap[fmt.Sprintf("_reject_%d", i)] = ""
}
var openDe rune = '{'
var closeDe rune = '}'
docx.ChangeOpenCloseDelimiter(openDe, closeDe)
// read and parse the template docx
doc, err := docx.Open("模板1.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)
}
}