使用Excelize控制每一列的宽度和居中可以通过以下代码实现: ```go package main import ( "github.com/360EntSecGroup-Skylar/excelize" ) func main() { // 创建一个新的xlsx文件 f := excelize.NewFile() // 设置列宽 f.SetColWidth("Sheet1", "A", "A", 20) f.SetColWidth("Sheet1", "B", "B", 30) // 设置单元格水平居中 f.SetCellStyle("Sheet1", "A1", "B1", 1, map[string]interface{}{"alignment": map[string]string{"horizontal": "center"}}) // 保存文件 if err := f.SaveAs("test.xlsx"); err != nil { panic(err) } } ``` 上面的代码先创建了一个新的xlsx文件,然后使用`SetColWidth`方法设置第一列的宽度为20,第二列的宽度为30。接着使用`SetCellStyle`方法设置单元格A1到B1的水平居中。最后使用`SaveAs`方法保存文件。 其中,`SetCellStyle`方法的最后一个参数是一个map,可以设置单元格的各种属性,比如字体颜色、背景颜色、字号等等。这里我们设置了`alignment`属性,用于设置单元格的水平对齐方式。 需要注意的是,Excel中的列宽是以字符宽度为单位的,一个中文字符宽度为2个字符宽度,一个英文字符宽度为1个字符宽度。因此,设置列宽时需要注意这一点。