怎么使用Go语言在电子表格中生成相关下拉列表
发表于:2025-02-05 作者:千家信息网编辑
千家信息网最后更新 2025年02月05日,这篇"怎么使用Go语言在电子表格中生成相关下拉列表"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起
千家信息网最后更新 2025年02月05日怎么使用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安全错误
数据库的锁怎样保障安全
深圳社交直播软件开发
u盘安装镜像服务器
软件开发服务所需的资质
海南公安局网络安全总队
机架式服务器维修项目报价
沈阳app软件开发外包
颜鹏奇网络技术工作室
主备服务器切换
视频剪辑挣钱软件开发
android创数据库表
http服务器实现自定义接口
湖南润卡互联网科技有限公司
网络安全法 四十一条
数据库安装维护
逃离塔科夫德国服务器叫什么
学生网络安全存在问题
服务器管理入口
架构软件开发
甲骨文数据库建表
黄码数据库推送是什么意思
深圳社交直播软件开发
沈阳app软件开发外包
银行网络安全面试问题有哪些
专技天下 网络安全生态
北京软件开发外派
绵阳艾斯计算机软件开发
服务器管理入口
简述iis服务器设置
服务器怎么搭建文件服务器
服务器管理软件 下载