網站首頁 編程語言 正文
excel--excelize
package main
import (
"fmt"
"github.com/360EntSecGroup-Skylar/excelize"
)
//簡單的表格設置,設置表格頭--標題
func simpleexcel() {
f := excelize.NewFile()
// 創建一個工作表
index := f.NewSheet("數據表")
// 設置單元格的值,可以當成“表頭”了--標題
f.SetCellValue("數據表", "A1", "設備ID")
f.SetCellValue("數據表", "B1", "編碼")
f.SetCellValue("數據表", "C1", "地址")
// 設置工作簿的默認工作表
f.SetActiveSheet(index)
// 根據指定路徑保存文件
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") //三層南走廊東 ,取到單元格的內容 “三層南走廊東”
}
fmt.Println() //換一行
}
fmt.Println(rows)
/*
rows值為:
[[三層南走廊東 4000027 4000027 hkGxwgL6u03f]
[三層西走廊南 4000004 4000004 hkGxwgL6u03I]
[三層東走廊中 4000012 4000012 hkGxwgL6u03Q]
[三層東走廊南 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的表格是第五列的時候,打印第五列的內容
if index == 5 {
fmt.Println(cell)
}
//fmt.Println(cell, "\t", index) //三層南走廊東 ,取到單元格的內容 “三層南走廊東”
}
fmt.Println() //換一行
}
//fmt.Println(rows)
/*
rows值為:
[[三層南走廊東 4000027 4000027 hkGxwgL6u03f]
[三層西走廊南 4000004 4000004 hkGxwgL6u03I]
[三層東走廊中4000012 4000012 hkGxwgL6u03Q]
[三層東走廊南 4000020 4000020 hkGxwgL6u03Y]]
*/
}
//簡單的寫入數據
//新建兩個sheet分別向里面寫入內容信息
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()
//新建一個工作sheet 名字是“Sheet33”
//index := f.NewSheet("Sheet33")
f.NewSheet("Sheet33") //新建一個表單sheet 不需要返回索引
// 設置工作簿的默認工作表
//f.SetActiveSheet(index)
for k, v := range title {
f.SetCellValue("Sheet33", k, v)
}
for k, v := range values {
f.SetCellValue("Sheet1", k, v)
}
// 根據指定路徑保存文件
if err := f.SaveAs("unittest.xlsx"); err != nil {
fmt.Println(err)
}
}
//excelize
func main() {
//簡單表格調用
//simpleexcel()
//讀取 Excel 文檔
// ############讀取 Excel 文檔####################
//readexcel()
// ################################
//sipmlewrite()
// ################################
//測試判斷
readData()
// ################################
}
原文鏈接:https://blog.csdn.net/wtt234/article/details/124514085
相關推薦
- 2024-07-15 聊聊消息隊列,發送消息的4種方式
- 2022-05-21 Python實現歸一化算法詳情_python
- 2022-03-09 C++泛型編程Generic?Programming的使用_C#教程
- 2023-01-03 Nginx?Gunicorn?flask項目部署思路分析詳解_nginx
- 2022-05-08 jquery實現淘寶詳情頁選擇套餐_jquery
- 2022-06-18 Android?Scroller實現彈性滑動效果_Android
- 2022-11-07 Python實現簡易凱撒密碼的示例代碼_python
- 2022-12-29 Python利用卡方Chi特征檢驗實現提取關鍵文本特征_python
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支