当前位置: 首页 > news >正文

天津企业网站建站图书网页设计网站

天津企业网站建站,图书网页设计网站,做瑞士网站,营口市组织部两学一做网站最近项目开发中有涉及到Excel的导入与导出功能#xff0c;特别是导出表格时需要特定的格式#xff08;单元格合并等#xff09;#xff0c;废话不多说#xff0c;直接上代码了。 首先用到一个第三方库#xff0c;实测还是很强大很好用的#xff0c;就是这个https://git…最近项目开发中有涉及到Excel的导入与导出功能特别是导出表格时需要特定的格式单元格合并等废话不多说直接上代码了。 首先用到一个第三方库实测还是很强大很好用的就是这个https://github.com/qax-os/excelize 引用库 go get github.com/xuri/excelize/v2导入表格 package mainimport (encoding/jsongithub.com/xuri/excelize/v2net/httpstrings )func fileImport(w http.ResponseWriter, r *http.Request) {// 获取请求中的文件名formFile, _, err : r.FormFile(filename)if err ! nil {w.Write([]byte(获取文件失败, err.Error()))return}// 关闭defer formFile.Close()//reader, err : excelize.OpenReader(formFile)if err ! nil {w.Write([]byte(读取文件失败, err.Error()))return}// 关闭defer reader.Close()rows, err : reader.GetRows(Sheet1)if err ! nil {w.Write([]byte(获取工作表失败, err.Error()))return}ret : make([]string, 0, 8)for i, row : range rows {// 每一行数据的列, 都是从0开始的, 一般0行都是表头if i 0 {continue}value1 : row[0] // 第一列value2 : row[1] // 第二列// 去除空格value1 strings.Trim(strings.TrimSpace(value1), \n)value2 strings.Trim(strings.TrimSpace(value2), \n)//ret append(ret, value1,value2)}bytes, _ : json.Marshal(ret)w.Write(bytes)return }func main() {// HTTP服务http.HandleFunc(/fileImport, fileImport)err : http.ListenAndServe(:8192, nil)if err ! nil {panic(err)} }表格格式 执行后效果 导出表格 package mainimport (encoding/jsonfmtgithub.com/xuri/excelize/v2net/httpstrings )func fileExport(w http.ResponseWriter, r *http.Request) {file : excelize.NewFile()defer file.Close()// 设置页sheetName : Sheet1// 创建sheet, err : file.NewSheet(sheetName)if err ! nil {w.Write([]byte(创建失败, err.Error()))return}// 设置单元格格式style : excelize.Style{Border: nil,Fill: excelize.Fill{},Font: nil,Alignment: excelize.Alignment{Horizontal: center,Indent: 0,JustifyLastLine: false,ReadingOrder: 0,RelativeIndent: 0,ShrinkToFit: false,TextRotation: 0,Vertical: center,WrapText: false,},Protection: nil,NumFmt: 0,DecimalPlaces: nil,CustomNumFmt: nil,NegRed: false,}styleID, _ : file.NewStyle(style)// 设置表头_ file.SetCellValue(sheetName, A1, 款)_ file.SetCellStyle(sheetName, A1, A1, styleID)_ file.SetCellValue(sheetName, B1, 尺码)_ file.SetCellStyle(sheetName, B1, B1, styleID)// 设置值for i : 0; i 5; i {lineStr : fmt.Sprintf(%d, i2)//_ file.SetCellValue(sheetName, AlineStr, 基础款)_ file.SetCellStyle(sheetName, AlineStr, AlineStr, styleID)//_ file.SetCellValue(sheetName, BlineStr, 1:2:3:4:5:6)_ file.SetCellStyle(sheetName, BlineStr, BlineStr, styleID)}//file.SetActiveSheet(sheet)//buffer, err : file.WriteToBuffer()if err ! nil {w.Write([]byte(导出失败, err.Error()))return}w.Header().Set(Content-Disposition, fmt.Sprintf(attachment; filename%s, 导出文件.xlsx))w.Header().Set(Content-Type, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet)w.Write(buffer.Bytes()) }func main() {// HTTP服务http.HandleFunc(/fileImport, fileImport)http.HandleFunc(/fileExport, fileExport)err : http.ListenAndServe(:8192, nil)if err ! nil {panic(err)} }页面请求 http://127.0.0.1:8192/fileExport 后会直接生成xlsx文件并下载 合并单元格 package mainimport (encoding/jsonfmtgithub.com/xuri/excelize/v2net/httpstrings )func fileExport(w http.ResponseWriter, r *http.Request) {file : excelize.NewFile()defer file.Close()// 设置页sheetName : Sheet1// 创建sheet, err : file.NewSheet(sheetName)if err ! nil {w.Write([]byte(创建失败, err.Error()))return}// 设置单元格格式style : excelize.Style{Border: nil, // 边框样式Fill: excelize.Fill{},Font: nil, // 字体样式Alignment: excelize.Alignment{ // 位置样式Horizontal: center,Indent: 0,JustifyLastLine: false,ReadingOrder: 0,RelativeIndent: 0,ShrinkToFit: false,TextRotation: 0,Vertical: center,WrapText: false,},Protection: nil,NumFmt: 0,DecimalPlaces: nil,CustomNumFmt: nil,NegRed: false,}styleID, _ : file.NewStyle(style)// 设置表头_ file.MergeCell(sheetName, A1, A2) // 合并单元格_ file.SetCellValue(sheetName, A1, 款)_ file.SetCellStyle(sheetName, A1, A2, styleID)_ file.MergeCell(sheetName, B1, G1) // 合并单元格_ file.SetCellValue(sheetName, B1, 尺码)_ file.SetCellStyle(sheetName, B1, G1, styleID)_ file.SetCellValue(sheetName, B2, XS)_ file.SetCellStyle(sheetName, B2, B2, styleID)_ file.SetCellValue(sheetName, C2, S)_ file.SetCellStyle(sheetName, C2, C2, styleID)_ file.SetCellValue(sheetName, D2, M)_ file.SetCellStyle(sheetName, D2, D2, styleID)_ file.SetCellValue(sheetName, E2, L)_ file.SetCellStyle(sheetName, E2, E2, styleID)_ file.SetCellValue(sheetName, F2, XL)_ file.SetCellStyle(sheetName, F2, F2, styleID)_ file.SetCellValue(sheetName, G2, XLL)_ file.SetCellStyle(sheetName, G2, G2, styleID)// 设置值for i : 0; i 5; i {lineStr : fmt.Sprintf(%d, i3)//_ file.SetCellValue(sheetName, AlineStr, 基础款)_ file.SetCellStyle(sheetName, AlineStr, AlineStr, styleID)//split : strings.Split(1:2:3:4:5:6, :)_ file.SetCellValue(sheetName, BlineStr, split[0])_ file.SetCellStyle(sheetName, BlineStr, BlineStr, styleID)_ file.SetCellValue(sheetName, ClineStr, split[1])_ file.SetCellStyle(sheetName, ClineStr, ClineStr, styleID)_ file.SetCellValue(sheetName, DlineStr, split[2])_ file.SetCellStyle(sheetName, DlineStr, DlineStr, styleID)_ file.SetCellValue(sheetName, ElineStr, split[3])_ file.SetCellStyle(sheetName, ElineStr, ElineStr, styleID)_ file.SetCellValue(sheetName, FlineStr, split[4])_ file.SetCellStyle(sheetName, FlineStr, FlineStr, styleID)_ file.SetCellValue(sheetName, GlineStr, split[5])_ file.SetCellStyle(sheetName, GlineStr, GlineStr, styleID)}//file.SetActiveSheet(sheet)//buffer, err : file.WriteToBuffer()if err ! nil {w.Write([]byte(导出失败, err.Error()))return}// 设置文件名w.Header().Set(Content-Disposition, fmt.Sprintf(attachment; filename%s, 导出文件.xlsx))// 导出的文件格式 xlsx 或者 xsl// xlsx application/vnd.openxmlformats-officedocument.spreadsheetml.sheet// xls application/vnd.ms-excelw.Header().Set(Content-Type, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet)w.Write(buffer.Bytes()) }func main() {// HTTP服务http.HandleFunc(/fileImport, fileImport)http.HandleFunc(/fileExport, fileExport)err : http.ListenAndServe(:8192, nil)if err ! nil {panic(err)} }页面请求 http://127.0.0.1:8192/fileExport 后会直接生成xlsx文件并下载
http://www.ho-use.cn/article/10814202.html

相关文章:

  • 网站照片加水印国税网站建设管理
  • 网站模板上传教程商城分销系统
  • 做纯净系统的网站微同步网站
  • 长沙在线建站模板erp管理系统的作用
  • 网站推广主要是做什么关于网站建设的管理实践报告
  • 怎样用dede搭建网站深圳网站建设网
  • 网站服务器崩溃怎么办一 网站开发背景
  • 企业网站开发注册南京高端网站建设公司哪家好
  • 自己做一元夺宝网站多媒体设计制作公司北京
  • 深圳做针织衫服装的网站网站如何做cc防护
  • 做网站的书中国最新军事消息
  • 重庆建设网站公司哪家好wordpress如何修改不用邮箱注册
  • 大学生健康咨询网站建设方案网站推广介绍
  • 丽水网站开发wordpress釆集插件
  • 中国建设银行官网站预定红念币完成网站建设的心得体会
  • 网站建设投标书范本深圳市政工程招标网
  • 海市科技网站建设用凡科可以做视频网站吗
  • 网站短期电脑培训班学费类似wordpress的程序
  • 学生管理系统网站word和wordpress
  • 网站建设和网站运营包括什么内蒙营销型网站建设
  • 网站制作费用大概多少博兴县城乡建设局网站
  • 外贸大型门户网站制作建设网站需要什么软件
  • 网站建设方案应急处置贵州建设监理网站
  • wordpress制作小说网站模板常见的互联网应用
  • 网站制作公司美股上市wordpress 关键词设置
  • 学做网站记不住代码做印刷网站公司简介
  • 网站权重不够高 导致易语言的网站开发系统
  • 如何做各大网站广告链接免费网站建设服务
  • 已备案网站更换域名wordpress 个人说明
  • 织梦欧美网站模板网站开发如何进行管理