easyExcel
项目简介
easyExcel 是一个用于处理 Excel 文件(.xlsx 格式)的 Go 语言库。它能够解析 Excel 文件中的工作表、行、列、图片等信息,支持合并单元格的处理,并提供良好的错误处理和资源清理功能。通过这个库,开发者可以轻松地在 Go 项目中读取和操作 Excel 文件,满足数据提取、报表生成等需求。
功能特点
- 读取工作表列表:获取 Excel 文件中所有工作表的名称。
- 读取行和列数据:解析指定工作表中的行和列信息,支持共享字符串和合并单元格的处理。
- 提取图片信息:读取工作表中的图片及其位置信息,支持多种图片格式。
- 资源管理:自动清理解压后的临时文件,确保资源的合理使用。
- 错误处理:提供详细的错误信息,方便开发者调试和排查问题。
安装
通过以下命令安装 easyExcel:
go get gitee.com/netbycom/easyExcel
使用方法
打开 Excel 文件
package main
import (
"fmt"
"gitee.com/netbycom/easyExcel"
)
func main() {
// 打开 Excel 文件
excel, err := easyExcel.OpenFile("example.xlsx")
if err != nil {
fmt.Println("Failed to open file:", err)
return
}
defer excel.Close()
// 获取工作表列表
sheets, err := excel.GetSheetList()
if err != nil {
fmt.Println("Failed to get sheet list:", err)
return
}
fmt.Println("Sheets:", sheets)
}
读取工作表中的行数据
package main
import (
"fmt"
"gitee.com/netbycom/easyExcel"
)
func main() {
excel, err := easyExcel.OpenFile("example.xlsx")
if err != nil {
fmt.Println("Failed to open file:", err)
return
}
defer excel.Close()
// 获取指定工作表的行数据
rows, err := excel.GetRows("sheet1")
if err != nil {
fmt.Println("Failed to get rows:", err)
return
}
for _, row := range rows {
fmt.Printf("Row %d: ", row.Index)
for _, col := range row.Cols {
fmt.Printf("%s: %s ", col.Cell, col.Value)
}
fmt.Println()
}
}
提取工作表中的图片信息
package main
import (
"fmt"
"gitee.com/netbycom/easyExcel"
)
func main() {
excel, err := easyExcel.OpenFile("example.xlsx")
if err != nil {
fmt.Println("Failed to open file:", err)
return
}
defer excel.Close()
// 获取指定工作表的图片信息
pictures, err := excel.GetPictures("sheet1")
if err != nil {
fmt.Println("Failed to get pictures:", err)
return
}
for cell, picture := range pictures {
fmt.Printf("Cell %s: Picture %s\n", cell, picture.Filename)
}
}
项目结构
easyExcel/
├── .idea/ # IDE 配置文件
├── model/ # 数据模型定义
├── test/ # 测试代码
├── util/ # 工具函数
├── define.go # 常量定义
├── easyExcel.go # 主程序入口
├── go.mod # Go 模块依赖
└── go.sum # Go 模块依赖校验
贡献指南
欢迎开发者为 easyExcel 项目贡献代码。如果您发现任何问题或有新的功能建议,请通过以下方式参与:
- 提交 Issue:在项目页面提交问题或功能建议。
- 创建 Pull Request:提交代码修改,帮助改进项目。
许可证
easyExcel 项目目前尚未选择许可证。如果您计划使用或分发该项目,请联系项目维护者以获取更多信息。
联系方式
希望这个 README 文件能够帮助您更好地理解和使用 easyExcel 项目。如果有任何进一步的需求或修改建议,欢迎随时提出。