Excelize 是 Go 语言编写的用于操作 Office Excel 文档基础库,这是一个好东西,非常强大的库。在我们使用这个库的时候,忽然发现在刚刚集成Excelize,"\n"换行符不好使了。后来发现,的确需要对单元格进行处理,才会有效果。问题在于需要对单元格进行设置,将Style中Alignment下的WrapText设置为True。之后单元格可以自动换行。在文本中插入字符串"\n"也能正常的换行。亲测有效~
styleId, err := f.NewStyle(&excelize.Style{
Alignment: &excelize.Alignment{
Horizontal: "center",
Indent: 1,
JustifyLastLine: true,
ReadingOrder: 2,
RelativeIndent: 1,
ShrinkToFit: true,
Vertical: "top",
WrapText: true,
},
})
if err != nil {
fmt.Println(err)
}
f.SetCellStyle("Sheet2", "B4", "B4", styleId)
f.SetCellValue("Sheet2", "B4", "ABC这里开始换行\nabc")
//对比代码
f.SetCellValue("Sheet2", "B7", "这里开始换行\nabc 没有设置单元格自动换行则\n会失效")
// 根据指定路径保存文件
if err := f.SaveAs("gridtest.xlsx"); err != nil {
fmt.Println(err)
} else {
fmt.Println("excel文件保存成功")
}
效果图如下: