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

泉州网站seo网站建设拿什么框架

泉州网站seo,网站建设拿什么框架,谷歌下载,seo搜论坛文章目录 1 简介2 相关需求与实现2.1 导出带单元格合并的excel文件2.2 导出增加自动换行和固定列宽的excel文件 1 简介 之前整理过使用Excelize导出原始excel文件与增加数据校验的excel导出。【go】Excelize处理excel表 带数据校验的文件导出 本文整理使用Excelize导出带单元…

文章目录

  • 1 简介
  • 2 相关需求与实现
    • 2.1 导出带单元格合并的excel文件
    • 2.2 导出增加自动换行和固定列宽的excel文件

1 简介

  • 之前整理过使用Excelize导出原始excel文件与增加数据校验的excel导出。【go】Excelize处理excel表 带数据校验的文件导出

  • 本文整理使用Excelize导出带单元格合并的excel文件与导出增加自动换行和固定列宽的excel文件

2 相关需求与实现

2.1 导出带单元格合并的excel文件

  • 需求:入参是一个map,其键是每个sheet页的名字,其值是一个二维切片。在每个sheet页中依次写入切片中的数据。返回文件名和错误信息。
    合并单元格:前三列,如果此格和上行格相同,则合并
  • 代码:
// 增加合并单元格的文件导出
func WriteExcelMerge(datas map[string][][]string) (string, error) {file := excelize.NewFile()for sheetName, data := range datas {index, _ := file.NewSheet(sheetName)for i, row := range data {for j, val := range row {// 列行数字索引转excel坐标索引cellName, _ := excelize.CoordinatesToCellName(j+1, i+1)// 设置,写入file.SetCellValue(sheetName, cellName, val)}}// 创建表格file.SetActiveSheet(index)}for sheet, _ := range datas {// 获取表格中的所有行rows, err := file.GetRows(sheet)if err != nil {return "", err}for i := 1; i < len(rows); i++ {currRow := rows[i]prevRow := rows[i-1]// 判断前3列是否相等if currRow[0] == prevRow[0] &&currRow[1] == prevRow[1] &&currRow[2] == prevRow[2] {// 合并相邻单元格for j := 1; j <= 3; j++ {cellName1, _ := excelize.CoordinatesToCellName(j, i) // 列,行cellName2, _ := excelize.CoordinatesToCellName(j, i+1)err := file.MergeCell(sheet, cellName1, cellName2)if err != nil {return "", err}}}}}filename := "aaa" + ".xlsx"// 创建目录_, err := os.ReadDir("aaa/")if err != nil {// 不存在就创建err = os.MkdirAll("aaa/", fs.ModePerm)if err != nil {return "", err}}file.DeleteSheet("Sheet1")err = file.SaveAs("aaa/" + filename)if err != nil {return "", err}return filename, nil
}func main() {datas := make(map[string][][]string)datas["xxx"] = [][]string{{"a", "b", "c", "D1", "E1", "G1", "H1", "I1"}, {"a", "b", "c", "D1"}, {"a", "b", "c", "D1"}}datas["yyy"] = [][]string{{"X1", "Y1", "Z1"}, {"X2", "Y2", "Z2"}, {"X3", "Y3", "Z3"}}fileName, err := WriteExcelMerge(datas)if err != nil {fmt.Println("Write excel error: ", err)return}fmt.Println("Write excel success, file name is: ", fileName)
}
  • 输出文件:
    合并:
    在这里插入图片描述
    未合并:在这里插入图片描述

2.2 导出增加自动换行和固定列宽的excel文件

  • 需求:同上
    其中,第一列设置自动换行+固定列宽20;第二列固定列宽20
  • 代码:
func WriteExcelAuto(datas map[string][][]string, widths map[string]float64, wrapTexts []string) (string, error) {file := excelize.NewFile()// 自动换行styleID, err := file.NewStyle(&excelize.Style{Alignment: &excelize.Alignment{WrapText: true,},})if err != nil {return "", err}for sheetName, data := range datas {index, _ := file.NewSheet(sheetName)for i, row := range data {for j, val := range row {// 列行数字索引转excel坐标索引cellName, _ := excelize.CoordinatesToCellName(j+1, i+1)// 设置,写入file.SetCellValue(sheetName, cellName, val)}}// 设置自动换行for _, v := range wrapTexts {file.SetColStyle(sheetName, v, styleID)}// 设置列宽for k, v := range widths {file.SetColWidth(sheetName, k, k, v)}// 创建表格file.SetActiveSheet(index)}filename := "aaa" + ".xlsx"// 创建目录_, err = os.ReadDir("aaa/")if err != nil {// 不存在就创建err = os.MkdirAll("aaa/", fs.ModePerm)if err != nil {return "", err}}file.DeleteSheet("Sheet1")err = file.SaveAs("aaa/" + filename)if err != nil {return "", err}return filename, nil
}func main() {datas := make(map[string][][]string)datas["xxx"] = [][]string{{"AAAAAAAAAAAAAAAAAAAAA", "B1", "C1", "d1", "E1", "G1", "H1", "I1"}, {"A2", "B2", "C2"}, {"A3", "B3", "C3"}}datas["yyy"] = [][]string{{"X1", "Y1", "Z1"}, {"X2", "Y2", "Z2"}, {"X3", "Y3", "Z3"}}widths := map[string]float64{"A": 20,"B": 20,}wraps := []string{"A",}fileName, err := WriteExcelAuto(datas, widths, wraps)if err != nil {fmt.Println("Write excel error: ", err)return}fmt.Println("Write excel success, file name is: ", fileName)
}
  • 输出文件:
    在这里插入图片描述
http://www.yayakq.cn/news/369304/

相关文章:

  • 网站微商城的建设运营实践和思考广西住房和城乡建设厅继续教育网
  • 品牌网站建设价格实惠好素材网站
  • 网站前期基础建设 怎么写家装类设计网站
  • 建站公司的服务内容宝应县建设工程管理局网站
  • 龙岗龙城街道网站建设开网店3个月来亏了10万
  • 石家庄微网站建设公司哪家好网站后台做链接
  • 素材分享网站源码生鲜网站怎么做
  • 怎么在建设银行网站挂号网站建设运维情况
  • 网站标准宽度2345网址导航怎么卸载
  • 福安市代理做网站磁力宝最佳搜索引擎入口
  • 深圳建设网站公司拍摄宣传片的流程简要
  • 定制型网站建设服务器wordpress tinymce advanced
  • 帝国cms企业网站网站备案可以自己备案吗
  • 云南酒店网站建设vi设计公司成都
  • 实时开奖走势网站建设做网站建设公司哪家好?
  • wordpress登录和没登录菜单seo实战密码电子版
  • 做聚会的网站微信公众平台 网站 对接
  • 网站 动态 标签页电气工程WordPress模板
  • 网站建设氺金手指排名11做哪个网站好
  • 湖北省建设招投标监督机构网站网站有什么类型
  • 做旅游网站的设计感想设计公司的网站建设
  • 菜鸟建站网北京家装设计公司
  • 网站开发先学哪些知识韶山网站建设
  • 自学建立网站泰安软件开发公司哪家好
  • 中国建设银行大学助学贷款网站用网站做平台
  • 娱乐网站导航jsp网站设计
  • wordpress收不到注册邮件衡阳seo排名
  • 模板建站能建个门户网站吗网站建设与管理实训报告
  • 鞍山做百度网站一年多少钱wordpress获取qq头像评论
  • 网站后台管理系统设计销售公司做网站