在Linux debian12系统上使用go语言以及excelize库处理excel数据

发布于:2025-05-23 ⋅ 阅读:(29) ⋅ 点赞:(0)

go-do-excel

一、介绍

myBook.xlsx表中,B列是“全部IP地址“,A列是“分发成功的IP地址“,本脚本采用go语言编写,通过读取myBook.xlsx中B列“全部IP地址“和A列“分发成功的IP地址“数据,计算出“分发失败的IP地址“数据,将其写入到C列。

在这里插入图片描述

二、编程语言

本脚本在Linux Debian12系统上采用go语言编写。

三、excelize安装教程

1.go获取github.com/xuri/excelize/v2很慢解决方法:
使用国内镜像源,可以配置 Go 使用国内的镜像源,例如使用 Goproxy.cn:
export GOPROXY=https://goproxy.cn,direct
然后再次尝试获取库。

2.使用go get安装excelize(推荐方式):

go get github.com/xuri/excelize/v2

四、源代码

goDoExcel.go

package main

import (
	"fmt"
	"strconv"
	/*
		 	go获取github.com/xuri/excelize/v2很慢解决方法:
			使用国内镜像源,可以配置 Go 使用国内的镜像源,例如使用 Goproxy.cn:
			export GOPROXY=https://goproxy.cn,direct
			然后再次尝试获取库。
	*/

	//使用go get安装excelize(推荐方式): go get github.com/xuri/excelize/v2
	"github.com/xuri/excelize/v2"
)

func main() {
   
	// 打开 Excel 文件
	f, err := excelize.OpenFile("myBook.xlsx")
	if err != nil {
   
		fmt.Println(err)
		return
	}

	// 获取第一个工作表的名称
	sheetName := f.GetSheetName(0)
	//fmt.Println(sheetName)

	// 读取 A 列和 B 列的数据
	rows, err := f.GetRows(sheetName)
	if err != nil {
   
		fmt.Println(err)
		return
	}

	var arrayA, arrayB []string
	// 跳过标题行(第一行)
	for i, row := range rows {
   

网站公告

今日签到

点亮在社区的每一天
去签到