Golang操作Excel的模块Excelize学习总结-设置样式

本文介绍了如何在Golang中使用Excelize模块来设置Excel文件的样式,包括新建样式、边框、填充、字体、保护和对齐的详细设置,并提到了样式覆盖规则以及推荐使用JSON字符串创建样式。提供了作者的文档链接和视频教程作为学习资源。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

设置样式

  • 新建样式
    func (f *File) NewStyle(style interface{}) (int, error)

    通过给定的样式格式 JSON 或结构体的指针创建样式并返回样式索引。请注意,颜色需要使用 RGB 色域代码表示。

  • 设置样式
    func (f *File) SetCellStyle(sheet, hcell, vcell string, styleID int) error

  • 样式结构体包含的设置项

type Style struct {
   
   
	Border        []Border    `json:"border"`
	Fill          Fill        `json:"fill"`
	Font          *Font       `json:"font"`
	Alignment     *Alignment  `json:"alignment"`
	Protection    *Protection `json:"protection"`
	NumFmt        int         `json:"number_format"`
	DecimalPlaces int         `json:"decimal_places"`
	CustomNumFmt  *string     `json:"custom_number_format"`
	Lang          string      `json:"lang"`
	NegRed        bool        `json:"negred"`
}
  • 边框
type Border struct {
   
   
	Type  string `json:"type"`   // top bottom left right diagonalDown diagonalUp
	Color string `json:"color"`  // 常用的颜色字符串  以及 十六进制的颜色编  red  #F8F8F8
	Style int    `json:"style"`  // 见下表 样式可以去文档上看
}
索引 线条样式 线宽
0 0
1 连续线 1
2 连续线 2
3 短线 1
4 点线 1
5 连续线 3
6 双线 3
7 连续线 0
8 短线 2
9 短线与点间隔线 1
10 短线与点间隔线 2
11 短线与两个点一组重复线 1
12 短线与两个点一组重复线 2
13 斜线与点线 2
  • 填充
type Fill struct {
   
   
	Type    string   `json:"type"`    // gradient  pattern
	Pattern int      `json:"pattern"`
	Color   []string `json:"color"`
	Shading int      `json:"shading"`
}

填充有两种类型 即 Type 有两种选择 gradient -> 渐变色 pattern -> 填充图案
当Type是 gradient 时,Shading 可以选择 0-5 分别代表标横向(每种颜色横向分布),纵向,纵向 对角向上 对角向下 有外向内 由内向外;此时的Color 切片中的颜色可以有多个,Pattern 可以忽略
当Type是 pattern 时,Pattern 可选 0-18 其中 1是实体填充 ;Color 切片中只要一种;Shading可以不填
只有上述两种组合,其他的组合都不显示填充颜色

  • 字体
type Font struct {
   
   
	Bold      bool    `json:"bold"`       // 是否加粗
	Italic    bool    `json:"italic"`     // 是否倾斜
	Underline string  `json:"underline"`  // single    double 
	Family    string  `json:"family"`     // 字体样式
	Size      float64 `json:"size"`       // 字体大小
	Strike    bool    `json:"strike"`     // 删除线
	Color     string  `json:"color"`      // 字体颜色
}

注意字体是指针类型的

  • 保护

type Protection 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值