# easyExcel **Repository Path**: netbycom/easyExcel ## Basic Information - **Project Name**: easyExcel - **Description**: easyExcel 是一个用于处理 Excel 文件(.xlsx 格式)的 Go 语言库。它能够解析 Excel 文件中的工作表、行、列、图片等信息,支持合并单元格的处理,并提供良好的错误处理和资源清理功能。通过这个库,开发者可以轻松地在 Go 项目中读取和操作 Excel 文件,满足数据提取、报表生成等需求。 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-16 - **Last Updated**: 2025-10-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # easyExcel ## 项目简介 `easyExcel` 是一个用于处理 Excel 文件(.xlsx 格式)的 Go 语言库。它能够解析 Excel 文件中的工作表、行、列、图片等信息,支持合并单元格的处理,并提供良好的错误处理和资源清理功能。通过这个库,开发者可以轻松地在 Go 项目中读取和操作 Excel 文件,满足数据提取、报表生成等需求。 ## 功能特点 - **读取工作表列表**:获取 Excel 文件中所有工作表的名称。 - **读取行和列数据**:解析指定工作表中的行和列信息,支持共享字符串和合并单元格的处理。 - **提取图片信息**:读取工作表中的图片及其位置信息,支持多种图片格式。 - **资源管理**:自动清理解压后的临时文件,确保资源的合理使用。 - **错误处理**:提供详细的错误信息,方便开发者调试和排查问题。 ## 安装 通过以下命令安装 `easyExcel`: ```bash go get gitee.com/netbycom/easyExcel ``` ## 使用方法 ### 打开 Excel 文件 ```go 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) } ``` ### 读取工作表中的行数据 ```go 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() } } ``` ### 提取工作表中的图片信息 ```go 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` 项目贡献代码。如果您发现任何问题或有新的功能建议,请通过以下方式参与: 1. **提交 Issue**:在项目页面提交问题或功能建议。 2. **创建 Pull Request**:提交代码修改,帮助改进项目。 ## 许可证 `easyExcel` 项目目前尚未选择许可证。如果您计划使用或分发该项目,请联系项目维护者以获取更多信息。 ## 联系方式 - **项目维护者**:袁中义 - **邮箱**:[564165682@qq.com](mailto:564165682@qq.com) - **技术支持**: - 专业版私有部署:13681752161 --- 希望这个 `README` 文件能够帮助您更好地理解和使用 `easyExcel` 项目。如果有任何进一步的需求或修改建议,欢迎随时提出。