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

网站公安局备案规定网上永久视频会员是真的吗

网站公安局备案规定,网上永久视频会员是真的吗,wordpress扫码收款,天津哪家做企业网站最近项目开发中有涉及到Excel的导入与导出功能,特别是导出表格时需要特定的格式(单元格合并等),废话不多说,直接上代码了。 首先用到一个第三方库,实测还是很强大很好用的,就是这个https://git…

最近项目开发中有涉及到Excel的导入与导出功能,特别是导出表格时需要特定的格式(单元格合并等),废话不多说,直接上代码了。

首先用到一个第三方库,实测还是很强大很好用的,就是这个https://github.com/qax-os/excelize

引用库
go get github.com/xuri/excelize/v2
导入表格
package mainimport ("encoding/json""github.com/xuri/excelize/v2""net/http""strings"
)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/json""fmt""github.com/xuri/excelize/v2""net/http""strings"
)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", i+2)//_ = file.SetCellValue(sheetName, "A"+lineStr, "基础款")_ = file.SetCellStyle(sheetName, "A"+lineStr, "A"+lineStr, styleID)//_ = file.SetCellValue(sheetName, "B"+lineStr, "1:2:3:4:5:6")_ = file.SetCellStyle(sheetName, "B"+lineStr, "B"+lineStr, 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/json""fmt""github.com/xuri/excelize/v2""net/http""strings"
)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", i+3)//_ = file.SetCellValue(sheetName, "A"+lineStr, "基础款")_ = file.SetCellStyle(sheetName, "A"+lineStr, "A"+lineStr, styleID)//split := strings.Split("1:2:3:4:5:6", ":")_ = file.SetCellValue(sheetName, "B"+lineStr, split[0])_ = file.SetCellStyle(sheetName, "B"+lineStr, "B"+lineStr, styleID)_ = file.SetCellValue(sheetName, "C"+lineStr, split[1])_ = file.SetCellStyle(sheetName, "C"+lineStr, "C"+lineStr, styleID)_ = file.SetCellValue(sheetName, "D"+lineStr, split[2])_ = file.SetCellStyle(sheetName, "D"+lineStr, "D"+lineStr, styleID)_ = file.SetCellValue(sheetName, "E"+lineStr, split[3])_ = file.SetCellStyle(sheetName, "E"+lineStr, "E"+lineStr, styleID)_ = file.SetCellValue(sheetName, "F"+lineStr, split[4])_ = file.SetCellStyle(sheetName, "F"+lineStr, "F"+lineStr, styleID)_ = file.SetCellValue(sheetName, "G"+lineStr, split[5])_ = file.SetCellStyle(sheetName, "G"+lineStr, "G"+lineStr, 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.dt0577.cn/news/42118.html

相关文章:

  • 如何关闭公安备案网站线上营销策略
  • 专业微信网站建设报价百度小说排名
  • 合肥建设学校官网网站怎样制作属于自己的网站
  • 网站app开发费用资源网
  • 上海松江区做网站公司google关键词挖掘工具
  • 绍兴建设用地使用权网站北京seo公司排名
  • 重庆网站建设招聘seo值怎么提高
  • 公司网站开发费用计入哪个科目附近的计算机培训班
  • 北京顺义建设委员会网站首页公司网站制作要多少钱
  • 物流网站建设案例重庆企业seo
  • 平台网站制作竞价网官网
  • 营销网站建设汉狮电话长春做网站公司长春seo公司
  • 焦作网站建设哪家专业百度关键词竞价查询系统
  • 建站 报价推广自己的网站
  • 360网站做二维码精准防恶意点击软件
  • 互联网装饰网站seo研究中心道一老师
  • 怎么做草坪网站一站式软文发布推广平台
  • 杭州网站建设 杭州appgoogle搜索引擎入口
  • p2p金融网站建设seo团队
  • 软件网站开发设计网络公司名字
  • zend studio 网站开发天津最新消息今天
  • 佛山专业的做网站的百度收录提交
  • 怎麽用dw做网站轮播海报排名seo公司
  • 奥派政府门户网站模板廊坊seo排名扣费
  • 野花香社区论坛宁波seo推广服务电话
  • 潍坊专业网站建设哪家好建立网站需要什么技术
  • 如何看网站的流量百度广告推广价格
  • 做网站定制开发的公司seo简介
  • 不会被封的网站谁做武汉本地seo
  • 成都专业网站设计免费咨询网络营销平台的主要功能