当前位置:首页 » 《我的小黑屋》 » 正文

GO语言从前端传来的表格数据和表格标题导出到Excel表格中

26 人参与  2024年09月15日 13:21  分类 : 《我的小黑屋》  评论

点击全文阅读


提示:使用Go将前端表格数据和标题导出到Excel表格中,你可以使用第三方库,如"xlsx"。数据的操作流程遵循:分析数据格式→确定数据对象→解析→构建表格→生成文件。以下是一个简单的示例,展示了如何在Gin框架中实现该功能:

文章目录

一、表格样式二、使用步骤1.引入库2.创建路由2.创建exportToExcel函数3.最后结果


一、表格样式

表格是根据时间把数据放入到1-12月为列标题,行为1-31天的表格中,如下所示:
在这里插入图片描述

二、使用步骤

1.引入库

代码如下(示例):

package mainimport (    "fmt"    "github.com/tealeg/xlsx")

2.创建路由

代码如下(示例):

func main() {    router := gin.Default()    router.GET("/export", exportToExcel)    fmt.Println("Server running at http://localhost:8080/")    log.Fatal(router.Run(":8080"))}

前端可以使用POST请求将表格数据发送到/export路由。

2.创建exportToExcel函数

代码如下(示例):

func exportToExcel(c *gin.Context) {    // 假设数据格式为map[string]interface{}    formData := make(map[string]interface{})    // 从前端获取数据    err := c.BindJSON(formData)    if err!= nil {        c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})        return    }    // 提取标题和数据    columns := formData["columns"].([]interface{})    data := formData["data"].([]interface{})    // 创建Excel文件    file := xlsx.NewFile()    sheet, err := file.AddSheet("Sheet1")    if err!= nil {        c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()})        return    }    // 添加标题行    titleRow := sheet.AddRow()    for _, column := range columns {        // 假设标题信息存储在title字段中        titleCell := titleRow.AddCell()        titleCell.Value = column.(map[string]interface{})["title"].(string)    }    // 添加数据行    for i, rowData := range data {        values := rowData.(map[string]interface{})        row := sheet.AddRow()        for j := 0; j < len(columns); j++ {            // 假设数据键对应于列标题            dataIndex := columns[j].(map[string]interface{})["dataIndex"].(string)            cell := row.AddCell()            if value, ok := values[dataIndex]; ok {                            // 根据数据类型进行相应处理                switch v := value.(type) {                case int, int8, int16, int32, int64:                    cell.SetInt64(value.(int64))                case float32, float64:                    cell.SetFloat(value.(float64))                case string:                    cell.Value = value.(string)                default:                    fmt.Println("Unhandled data type:", v)                }            } else {                // 若数据不存在,则写一个空字符串                cell.Value = ""            }        }        // 设置行高,根据需要调整        row.SetHeightCM(1)        // 在第一列设置行号        row.Cells[0].Value = strconv.Itoa(i + 1)    }    // 设置列宽,根据需要调整    for j := 0; j < len(columns); j++ {        columnWidth := 5        sheet.Col(j).SetWidth(float64(columnWidth))    }    // 保存文件    err = file.Save("your_file_name.xlsx")    if err!= nil {        c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()})        return    }    // 返回成功响应    c.JSON(http.StatusOK, gin.H{"message": "Excel file exported successfully"})   }

请注意,你需要将"your_file_name.xlsx"替换为实际要创建的Excel文件名,并根据需要调整列宽和行高等样式。

前端可以使用POST请求将表格数据发送到/export路由,后端使用c.BindJSON(formData)来获取数据。然后,后端处理数据,创建Excel文件,写入标题和数据,最后保存文件。如果一切顺利,后端将返回一个成功的响应给前端。

3.最后结果

在这里插入图片描述



点击全文阅读


本文链接:http://zhangshiyu.com/post/160312.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最新文章

  • 林晚夏江肆年(进错房,嫁给八零最牛特种兵在线阅读)全文免费阅读无弹窗大结局_(林晚夏江肆年)进错房,嫁给八零最牛特种兵在线阅读免费阅读全文最新章节列表_笔趣阁(林晚夏江肆年) -
  • 进错房,嫁给八零最牛特种兵完整版阅读小说(林晚夏江肆年)全文免费阅读无弹窗大结局_(进错房,嫁给八零最牛特种兵完整版阅读)林晚夏江肆年免费阅读全文最新章节列表_笔趣阁(进错房,嫁给八零最牛特种兵完整版阅读) -
  • 新雪藏旧事全文全文(商云萝周砚京)全文免费阅读无弹窗大结局_(新雪藏旧事全文小说免费阅读)最新章节列表_笔趣阁(新雪藏旧事全文) -
  • 在线免费小说重生七零替嫁:不嫁教授,嫁军官_乔珊珊乔婉月新热门小说_热门小说乔珊珊乔婉月
  • 免费小说《冯云漪厉晋泽》已完结(冯云漪厉晋泽)热门小说大结局全文阅读笔趣阁
  • 祁兰湘邵黎晖小说_祁兰湘邵黎晖完整版大结局小说免费阅读
  • 完整免费小说老公心疼青梅将她留宿新房,却将怀孕的我赶出家门(乔玥傅慎行姜禾)_老公心疼青梅将她留宿新房,却将怀孕的我赶出家门(乔玥傅慎行姜禾)完本小说免费阅读(乔玥傅慎行姜禾)
  • 新雪藏旧事:结局+番外+完结免费小说在线阅读_小说完结推荐新雪藏旧事:结局+番外+完结商云萝周砚京热门小说
  • 初逢青山梦长安(顾怀瑾沈书妤)阅读 -
  • 无删减版《绝对权力:从天崩开局走上官途巅峰》在线免费阅读
  • 《绝对权力:从天崩开局走上官途巅峰》小说在线试读,《绝对权力:从天崩开局走上官途巅峰》最新章节目录
  • 裴泽苏星辰何娇(满目星辰不及你小说)精彩章节在线阅读

    关于我们 | 我要投稿 | 免责申明

    Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1