日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無先后,達(dá)者為師

網(wǎng)站首頁 編程語言 正文

excelize-golang中excel表格內(nèi)容讀取

作者:夸父追夢@ 更新時(shí)間: 2022-05-06 編程語言

excel--excelize

package main

import (
	"fmt"
	"github.com/360EntSecGroup-Skylar/excelize"
)

//簡單的表格設(shè)置,設(shè)置表格頭--標(biāo)題
func simpleexcel() {
	f := excelize.NewFile()

	// 創(chuàng)建一個(gè)工作表
	index := f.NewSheet("數(shù)據(jù)表")

	// 設(shè)置單元格的值,可以當(dāng)成“表頭”了--標(biāo)題
	f.SetCellValue("數(shù)據(jù)表", "A1", "設(shè)備ID")
	f.SetCellValue("數(shù)據(jù)表", "B1", "編碼")
	f.SetCellValue("數(shù)據(jù)表", "C1", "地址")

	// 設(shè)置工作簿的默認(rèn)工作表
	f.SetActiveSheet(index)
	// 根據(jù)指定路徑保存文件

	if err := f.SaveAs("data.xlsx"); err != nil {
		fmt.Println(err)
	}
}

//excel讀取
func readexcel() {

	f, err := excelize.OpenFile("./sx1.xlsx")
	if err != nil {
		fmt.Println(err)
		return
	}
	// 獲取工作表中指定單元格的值
	//value := f.GetCellValue("data", "F1")

	//fmt.Println(value)

	 獲取 data 上所有單元格  data是我的工作表的名稱
	rows := f.GetRows("data")

	for _, row := range rows {
		fmt.Println(row) //[三層南走廊東 9000027 4000027 hkGxwgL6u03f]
		fmt.Println("===============")
		for _, cell := range row {
			fmt.Println(cell, "\t") //三層南走廊東   ,取到單元格的內(nèi)容  “三層南走廊東”
		}
		fmt.Println() //換一行
	}
	fmt.Println(rows)

	/*
		rows值為:
			[[三層南走廊東 4000027 4000027 hkGxwgL6u03f]
			[三層西走廊南 4000004 4000004 hkGxwgL6u03I]
			[三層?xùn)|走廊中 4000012 4000012 hkGxwgL6u03Q]
			[三層?xùn)|走廊南 4000020 4000020 hkGxwgL6u03Y]]
	*/

}

//測試
func readData() {

	f, err := excelize.OpenFile("./sx1.xlsx")
	if err != nil {
		fmt.Println(err)
		return
	}
	// 獲取工作表中指定單元格的值
	//value := f.GetCellValue("data", "F1")

	//fmt.Println(value)

	 獲取 data 上所有單元格  data是我的工作表的名稱
	rows := f.GetRows("data")

	for _, row := range rows {
		fmt.Println(row) //[三層南走廊東 4000027 4000027 hkGxwgL6u03f]
		fmt.Println("===============")
		for index, cell := range row {

			//index的表格是第五列的時(shí)候,打印第五列的內(nèi)容
			if index == 5 {
				fmt.Println(cell)

			}
			//fmt.Println(cell, "\t", index) //三層南走廊東   ,取到單元格的內(nèi)容  “三層南走廊東”
		}
		fmt.Println() //換一行
	}
	//fmt.Println(rows)

	/*
		rows值為:
			[[三層南走廊東 4000027 4000027 hkGxwgL6u03f]
			[三層西走廊南 4000004 4000004 hkGxwgL6u03I]
			[三層?xùn)|走廊中4000012 4000012 hkGxwgL6u03Q]
			[三層?xùn)|走廊南 4000020 4000020 hkGxwgL6u03Y]]
	*/

}

//簡單的寫入數(shù)據(jù)
//新建兩個(gè)sheet分別向里面寫入內(nèi)容信息
func sipmlewrite() {
	title := map[string]string{
		"A1": "ID",
		"B1": "名稱",
		"C1": "地址",
		"D1": "備注",
	}
	values := map[string]int{"A2": 2, "B2": 3, "C2": 4, "D2": 5}

	f := excelize.NewFile()

	//新建一個(gè)工作sheet 名字是“Sheet33”
	//index := f.NewSheet("Sheet33")
	f.NewSheet("Sheet33") //新建一個(gè)表單sheet 不需要返回索引
	// 設(shè)置工作簿的默認(rèn)工作表
	//f.SetActiveSheet(index)

	for k, v := range title {
		f.SetCellValue("Sheet33", k, v)

	}

	for k, v := range values {
		f.SetCellValue("Sheet1", k, v)

	}

	// 根據(jù)指定路徑保存文件
	if err := f.SaveAs("unittest.xlsx"); err != nil {
		fmt.Println(err)
	}
}

//excelize
func main() {
	//簡單表格調(diào)用
	//simpleexcel()

	//讀取 Excel 文檔
	//	############讀取 Excel 文檔####################
	//readexcel()

	//	################################

	//sipmlewrite()

	//	################################
	//測試判斷
	readData()
	//	################################

}

原文鏈接:https://blog.csdn.net/wtt234/article/details/124514085

欄目分類
最近更新