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

个人网站做百度推广wordpress登陆小工具

个人网站做百度推广,wordpress登陆小工具,什么网站专门做境外当地游,网站域名费用交给谁最近总有一些临时统计的需求,比如其他团队生产的一批数据,需要确认这批数据是否入到数仓,提供的列表就是一个excel,我们就需要读取excel中的所有数据,之后查询数仓数据库确认这批数据是否存在,并分别将存在…

最近总有一些临时统计的需求,比如其他团队生产的一批数据,需要确认这批数据是否入到数仓,提供的列表就是一个excel,我们就需要读取excel中的所有数据,之后查询数仓数据库确认这批数据是否存在,并分别将存在的与不存在的再标记出来。

1、读取excel文件

首先准备一个excel,内容如下,大概有100条数据:

下面实现对该文档的读取,读取方式包括一次性全部读取,适合数据量不大的场景,也包括按行读取,适合数据量大的场景:

func ExcelRead(name string) {f, err := excelize.OpenFile(name)if err != nil {fmt.Println("open file error:", err)return}defer f.Close()// 获取所有sheet的名称sheets := f.GetSheetMap()for _, name := range sheets {// 获取单个sheet的全部内容,正式上线需要考虑内存占用问题rows, err := f.GetRows(name)if err != nil {fmt.Println("get rows error:", err)return}fmt.Println("rows lenth:", len(rows))// 每次读取一行,减少内存占用for i := 0; i < 200; i++ {st, err := f.GetCellValue(name, fmt.Sprintf("A%v", i+2))if err != nil {fmt.Println("get cell value error:", err)}if st == "" {break}et, err := f.GetCellValue(name, fmt.Sprintf("B%v", i+2))if err != nil {fmt.Println("get cell value error:", err)}sub, err := f.GetCellValue(name, fmt.Sprintf("C%v", i+2))if err != nil {fmt.Println("get cell value error:", err)}fmt.Println(st, et, sub)}}
}

运行记录:

2、写excel文件

写excel,那就把第一步读取的excel重新写入到excel中,并写到两个sheet中,内容为三列(A/B/C): 


func ExcelWrite(sheet1 [][]string, sheet2 [][]string) {col := []string{"A", "B", "C"}f := excelize.NewFile()defer f.Close()// 创建名为车端挖掘数据的工作表_, err := f.NewSheet("车端挖掘数据")if err != nil {fmt.Println("new sheet error:", err)return}// 设置单元格的值。f.SetCellValue("车端挖掘数据", "A1", "start_time")f.SetCellValue("车端挖掘数据", "B1", "end_time")f.SetCellValue("车端挖掘数据", "C1", "subject")for i, v := range sheet1 {for k, v1 := range v {f.SetCellValue("车端挖掘数据", col[k]+fmt.Sprintf("%v", i+2), v1)}}// 创建名为车端挖掘数据的工作表sheetName := "云端挖掘数据"index, err := f.NewSheet("云端挖掘数据")if err != nil {fmt.Println("new sheet error:", err)return}// 设置默认sheet,打开表格时,默认显示的sheetf.SetActiveSheet(index)// 设置单元格的值。f.SetCellValue(sheetName, "A1", "start_time")f.SetCellValue(sheetName, "B1", "end_time")f.SetCellValue(sheetName, "C1", "subject")for i, v := range sheet1 {for k, v1 := range v {f.SetCellValue(sheetName, col[k]+fmt.Sprintf("%v", i+2), v1)}}// 将Excel另存为文件if err := f.SaveAs("/Users/liupeng/Downloads/test.xlsx"); err != nil {fmt.Println(err)}
}

运行结果:

3、在excel中生成柱状图

假设我们有这样一组数据:

我们希望将这组数据写入excel,并生成一个柱状图,类似这样:

 代码如下:

func CreateChart() {f := excelize.NewFile()defer f.Close()contents := [][]any{{nil, "Apple", "Orange", "Pear"},{"Small", 2, 3, 3},{"Normal", 5, 2, 4},{"Large", 6, 7, 8},}for idx, row := range contents {cell, err := excelize.CoordinatesToCellName(1, idx+1)if err != nil {fmt.Println(err)return}f.SetSheetRow("Sheet1", cell, &row)}if err := f.AddChart("Sheet1", "E1", &excelize.Chart{Type: excelize.Col3DClustered,Series: []excelize.ChartSeries{{Name:       "Sheet1!$A$2",Categories: "Sheet1!$B$1:$D$1",Values:     "Sheet1!$B$2:$D$2",},{Name:       "Sheet1!$A$3",Categories: "Sheet1!$B$1:$D$1",Values:     "Sheet1!$B$3:$D$3",},{Name:       "Sheet1!$A$4",Categories: "Sheet1!$B$1:$D$1",Values:     "Sheet1!$B$4:$D$4",}},Title: []excelize.RichTextRun{{Text: "Fruit Chart",},},}); err != nil {fmt.Println(err)return}// Save spreadsheet by the given path.if err := f.SaveAs("/Users/liupeng/Downloads/Book1.xlsx"); err != nil {fmt.Println(err)}
}

以上就是三个基础的操作excel的方法,希望对大家有用。

欢迎投身技术的小伙伴们关注交流~~~~~~~~~~~~~~~~~~。

往期推荐:

我在百度的这10年~~

云冈石窟:翻开这本距今1565年、与天地同久长的石头史书,感受北魏王朝雕刻艺术的巅峰之作。

一个异步架构设计:批量消费RabbitMQ,批量写入Elasticsearch(golang实现)

历经沧桑的应县木塔,在风雨中已等你969年。

从北京到大同,走过600里,跨越1000年。

命令行参数的艺术:Python、Golang、C++技术实现

supervisor,你理应知道。

跑步的第六年,才真正了解运动的意义

微信小程序文章列表焕新颜:从丑小鸭到白天鹅的华丽蜕变

Elasticsearch高级检索对决:search_after+pit和scroll,谁才是最佳选择?

李白:为何两次选择做了上门女婿?

借助tritonserver完成gpt2模型的本地私有化部署

GRPC开发全攻略:从环境搭建到代码实现

武汉抗疫英雄汪勇:平凡人的非凡之举。

趴菜就是趴菜,捯饬3天,才搞出小程序头部banner,还是个半成品

小程序实现文章列表点击跳转公众号详情页

前端小趴菜终于把公众号和开发的不能再磕碜的小程序首页关联上了

【续】开发triton客户端,访问clip-vit-large-patch14模型抽取图片特征。

NVIDIA tritonserver实现CLIP-ViT模型工程化:轻松获取图片特征(by grpc or http)

一文揭秘:Golang+Elasticsearch轻松搭建AI时代的图片搜索服务

轻松搭建Elasticsearch:Mac系统下的安装指南

Kibana for Mac:极简安装教程

RabbitMQ-死信队列(golang)

项目踩坑记--RabbitMq连接过多导致的内存打满

elasticsearch查询语言DSL构建包使用及实现原理(golang)

纳兰性德-我是人间惆怅客,世间唯有『若』字,最难成真

golang操作mysql之利器-gorm

Elasticsearch写入、读取、更新、删除以及批量操作(golang)

抖音视频批量下载工具

tritonserver学习之六:自定义c++、python custom backend实践

http://www.dtcms.com/wzjs/572436.html

相关文章:

  • 洛阳网站开发培训ie10网站后台无法编辑
  • 长沙经开区建管站哪个网站可以专门做超链接
  • 企业建设网站需注意哪些内容用discuz可以做视频网站吗
  • 知识付费网站搭建个人免费推广网站
  • 网站点网站主题模板下载安装
  • 做网站宣传图的网站网站设计应该考虑的重要因素
  • 新手做网站看什么书建视频网站需要多少钱
  • 外贸建站seo数码产品简约大气网站设计
  • 网站建设流程有几个阶段网站安全建设思考
  • 东坑网站建设网站备案 太烦
  • 苏州建设建设信息网站网站制作难点
  • 网站怎么做域名解析网站开发设计的技术路线
  • 优秀网站建设服务百度后台登录
  • 泰兴做网站电话网站模板减肥
  • 湖南视频网站建设wordpress替换本地字体
  • 用vs2010做免费网站模板中山站群网站建设
  • 国外域名网站推荐河北邢台做移动网站
  • 做网站字体用什么格式为什么只有建设网站打不开
  • qq空间关闭申请网站wordpress环境包
  • 网络营销中自建网站dedecms搭建购物网站
  • 网站运营编辑做什么的做设计有哪些地图网站
  • 哪家网站建设好营销软文范例500
  • ps可以在哪个网站上做兼职无锡企业网站建设报价
  • 网站建设视频l网站后台公告id修改
  • 石油网页设计与网站建设怎么样用手机做网站关键词
  • 网站链接分析工具个人网站建设研究意义
  • 做游戏ppt下载网站wordpress用户创建页面
  • 电商型网站是否是趋势wordpress 二级导航制作
  • 做ic比较有名的网站绿色食品网站模板
  • 建站系统cms西安知名网站建设