登录
首页 >  Golang >  Go问答

使用 Golang 创建 CSV/Excel 文件并为指定列添加下拉选项值

来源:stackoverflow

时间:2024-02-07 09:03:25 189浏览 收藏

亲爱的编程学习爱好者,如果你点开了这篇文章,说明你对《使用 Golang 创建 CSV/Excel 文件并为指定列添加下拉选项值》很感兴趣。本篇文章就来给大家详细解析一下,主要介绍一下,希望所有认真读完的童鞋们,都有实质性的提高。

问题内容

如何在 Golang 中生成 csv/excel,其中该 csv/excel 中的某些列将具有下拉选项,以便尝试在该列上添加/更新值的任何人都可以使用下拉列表中的可用值.

例如:下面的 Excel 文件,其中航空公司列的下拉列表中包含指定值的列表。

P.S:下面的Excel是使用poi-4.0.0.jar库在java中生成的

编辑1:我采取了不同的方法来解决上述问题,在此分享https://go.dev/play/p/WD-qpXh6JNg


正确答案


按照@andrew-arrow的建议,我查看了tealeg库,并且得到了想要的结果,完整的代码是here

再次感谢@andrew-arrow:)

file := xlsx.newfile()
sheet, _ := file.addsheet("sheet1")
row := sheet.addrow()
cell := row.addcell()
cell.value = "column 1"
cell = row.addcell()
cell.value = "column 2 (dropdown)"

dropdownvalues := []string{"ai | airindia", "uk | vistara"}

for i := 0; i < 10; i++ {
    row := sheet.addrow()
    cell := row.addcell()
    cell.value = fmt.sprintf("test %d", i)

    cell = row.addcell()
    dd := xlsx.newxlsxcelldatavalidation(true)
    dd.setdroplist(dropdownvalues)
    cell.setdatavalidation(dd)
}

file.save("output.xlsx")

输出快照.xlsx

尝试:

package main

import (
    "github.com/tealeg/xlsx"
)

func main() {
    file := xlsx.NewFile()
    sheet, _ := file.AddSheet("Sheet1")
    row := sheet.AddRow()
    cell := row.AddCell()
    cell.Value = "Column 1"
    cell = row.AddCell()
    cell.Value = "Column 2 (Dropdown)"

    dropdownValues := []string{"hi", "there"}

    for i := 0; i < 10; i++ {
        row := sheet.AddRow()
        cell := row.AddCell()
        cell.Value = fmt.Sprintf("Test %d", i)

        cell = row.AddCell()
        cell.SetDataValidationList(dropdownValues)
    }

  file.Save("output.xlsx")
}

今天带大家了解了的相关知识,希望对你有所帮助;关于Golang的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>