網(wǎng)站首頁 編程語言 正文
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
相關(guān)推薦
- 2022-08-28 Go讀寫鎖操作方法示例詳解_Golang
- 2022-07-07 Python如何在列表尾部添加元素_python
- 2022-10-04 Linux行處理工具之grep?正則表達(dá)式詳解_正則表達(dá)式
- 2022-11-15 .NETCore基于RabbitMQ實(shí)現(xiàn)延時(shí)隊(duì)列的兩方法_實(shí)用技巧
- 2022-07-10 linux 目錄和文件管理
- 2022-12-26 C++逆向分析移除鏈表元素實(shí)現(xiàn)方法詳解_C 語言
- 2022-11-25 Python中日期和時(shí)間的用法超強(qiáng)總結(jié)_python
- 2022-10-02 Redis進(jìn)行相關(guān)優(yōu)化詳解_Redis
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲(chǔ)小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支