golang xuri/excelize 导出 Excel 时,不指定列标号

文章目录

    今天在开发的系统,需要导出大赛参赛作品的所有打分结果。

    此前的做法是,指定 Excel 的 Cell 标识,然后写入指定单元格。但是这种做法非常不容易维护,例如,要新增一列,插入到邮箱那列的前面,那么插入后,就需要对应的修改后面的每一列的编号,非常麻烦。

        values := map[string]string{
            "A1": "年份",
            "B1": "参赛队名",
            "C1": "省份",
            "D1": "所属大学",
            "E1": "参赛组别",
            "F1": "联系人姓名",
            "G1": "联系人手机号",
            "H1": "邮箱",
            "I1": "联系地址",
            "J1": "邮政编码",
            "K1": "创建时间",
        }
    

    我需要一种新的写法,通过每行 slice 的方式写入,不指定每列的字母。

    SetSheetRow

        headers := []interface{}{
            "年份", "阶段", "评分组名", "总分", "参赛队伍名称", "参赛组别", "选题类型",
        }
        err := xlsx.SetSheetRow("Sheet1", "A1", &headers)
    

    SetShettRow 这个很方便,数字也不需要转换为字符串,直接用就行。

    但是需要注意第三个参数需要用指针类型,否则会报错 parameter invalid 。。。

    AI 太猛

    本来想详细记录一下的,算了 AI 已经很 NB 了,完全没有记录到必要。只要记住提示词就好了。

    // 设置表头
    
    // 填充数据
    

    更复杂一点,输入提示词,“表头字段是动态生成的,根据。。。”

    有了 Github Copilot 基本上没有必要去做 Vim Snippet 这些代码片段了,AI 自动给出的代码已经很厉害了。😮‍💨

    关于作者 🌱

    我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊,或者关注我的个人公众号“大象工具”, 查看更多联系方式