色值计算

  1. func ThemeColor(baseColor string, tint float64) string

通过给定的 RGB 格式色值与色调参数,计算出最终颜色。例如,获取名为 Sheet1 的工作表 A1 单元格的背景颜色:

  1. package main
  2. import (
  3. "fmt"
  4. "github.com/360EntSecGroup-Skylar/excelize"
  5. )
  6. func main() {
  7. f, _ := excelize.OpenFile("Book1.xlsx")
  8. fmt.Println(getCellBgColor(f, "Sheet1", "C1"))
  9. }
  10. func getCellBgColor(f *excelize.File, sheet, axix string) string {
  11. styleID := f.GetCellStyle(sheet, axix)
  12. fillID := f.Styles.CellXfs.Xf[styleID].FillID
  13. fgColor := f.Styles.Fills.Fill[fillID].PatternFill.FgColor
  14. if fgColor.Theme != nil {
  15. srgbClr := f.Theme.ThemeElements.ClrScheme.Children[*fgColor.Theme].SrgbClr.Val
  16. return excelize.ThemeColor(srgbClr, fgColor.Tint)
  17. }
  18. return fgColor.RGB
  19. }