怎么使用Go语言在电子表格中生成相关下拉列表
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇"怎么使用Go语言在电子表格中生成相关下拉列表"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起
千家信息网最后更新 2026年11月03日怎么使用Go语言在电子表格中生成相关下拉列表
这篇"怎么使用Go语言在电子表格中生成相关下拉列表"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇"怎么使用Go语言在电子表格中生成相关下拉列表"文章吧。
Excelize 是一个用纯 Go 编写的库,提供了一组允许您写入和读取 XLSX / XLSM / XLTM 文件的函数。支持读取和写入 Microsoft Excel™ 2007 及更高版本生成的电子表格文档。以高兼容性支持复杂组件,并提供流式API,用于从海量数据的工作表中生成或读取数据。这个库需要 Go 1.15 或更高版本。
Go:
package mainimport ( "fmt" "github.com/xuri/excelize/v2")func main() { // create a new spreadsheet f := excelize.NewFile() var ( // cell values data = [][]interface{}{ {"Fruits", "Vegetables"}, {"Mango", "Potato", nil, "Drop Down 1", "Drop Down 2"}, {"Apple", "Tomato"}, {"Grapes", "Spinach"}, {"Strawberry", "Onion"}, {"Kiwi", "Cucumber"}, } addr string err error cellsStyle, headerStyle int ) // set each cell value for r, row := range data { if addr, err = excelize.JoinCellName("A", r+1); err != nil { fmt.Println(err) return } if err = f.SetSheetRow("Sheet1", addr, &row); err != nil { fmt.Println(err) return } } // set data validation dvRange1 := excelize.NewDataValidation(true) dvRange1.Sqref = "D3:D3" dvRange1.SetSqrefDropList("$A$1:$B$1", true) if err = f.AddDataValidation("Sheet1", dvRange1); err != nil { fmt.Println(err) return } dvRange2 := excelize.NewDataValidation(true) dvRange2.Sqref = "E3:E3" dvRange2.SetSqrefDropList("INDIRECT(D3)", true) if err = f.AddDataValidation("Sheet1", dvRange2); err != nil { fmt.Println(err) return } // set defined name if err = f.SetDefinedName(&excelize.DefinedName{ Name: "Fruits", RefersTo: "Sheet1!$A$2:$A$6", Scope: "Sheet1", }); err != nil { fmt.Println(err) return } if err = f.SetDefinedName(&excelize.DefinedName{ Name: "Vegetables", RefersTo: "Sheet1!$B$2:$B$6", Scope: "Sheet1", }); err != nil { fmt.Println(err) return } // set custom column width for col, width := range map[string]float64{ "A": 12, "B": 12, "C": 6, "D": 12, "E": 12} { if err = f.SetColWidth("Sheet1", col, col, width); err != nil { fmt.Println(err) return } } // hide gridlines for the worksheet if err = f.SetSheetViewOptions("Sheet1", 0, excelize.ShowGridLines(false)); err != nil { fmt.Println(err) return } // define the border style border := []excelize.Border{ {Type: "top", Style: 1, Color: "cccccc"}, {Type: "left", Style: 1, Color: "cccccc"}, {Type: "right", Style: 1, Color: "cccccc"}, {Type: "bottom", Style: 1, Color: "cccccc"}, } // define the style of cells if cellsStyle, err = f.NewStyle(&excelize.Style{ Font: &excelize.Font{Color: "333333"}, Border: border}); err != nil { fmt.Println(err) return } // define the style of the header row if headerStyle, err = f.NewStyle(&excelize.Style{ Font: &excelize.Font{Bold: true}, Fill: excelize.Fill{ Type: "pattern", Color: []string{"dae9f3"}, Pattern: 1}, Border: border}, ); err != nil { fmt.Println(err) return } // set cell style if err = f.SetCellStyle("Sheet1", "A2", "B6", cellsStyle); err != nil { fmt.Println(err) return } if err = f.SetCellStyle("Sheet1", "D3", "E3", cellsStyle); err != nil { fmt.Println(err) return } // set cell style for the header row if err = f.SetCellStyle("Sheet1", "A1", "B1", headerStyle); err != nil { fmt.Println(err) return } if err = f.SetCellStyle("Sheet1", "D2", "E2", headerStyle); err != nil { fmt.Println(err) return } // save spreadsheet file if err := f.SaveAs("Book1.xlsx"); err != nil { fmt.Println(err) }}以上就是关于"怎么使用Go语言在电子表格中生成相关下拉列表"这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注行业资讯频道。
内容
电子
表格
中生
语言
下拉
数据
文章
版本
知识
篇文章
支持
复杂
以高
价值
兼容性
函数
大部分
就是
文件
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技股
广州万易互联网科技有限公司
科技企业和互联网企业
没上市的科技互联网公司
互联网科技集团
上海挚品互联网科技
唐信互联网科技
朗涯互联网科技
伴你行互联网科技有限公司
玖二柒互联网科技公司待遇
互联网之后的科技是什么
承德科技产业互联网发展
威龙国际互联网科技公司
济南有互联网科技公司吗
伍佰万互联网科技怎么赚钱
互联网科技融合创新
新氧科技和美国互联网有关系吗
艺电能源互联网科技有限公司招聘
长沙渺峰互联网科技有限公司
网互联网络科技
互联网科技海报
猫创互联网科技
互联网高科技股票
卓越科技互联网 招聘
北京华百购互联网科技有限公司
顶级互联网科技成果有哪些
移动互联网科技公司
厦门江牛科技互联网
杭州融税互联网科技有限公司
互联网金融金融科技