easyExcel

package module
v1.2.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 16, 2025 License: Apache-2.0 Imports: 13 Imported by: 0

README

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 项目贡献代码。如果您发现任何问题或有新的功能建议,请通过以下方式参与:

  1. 提交 Issue:在项目页面提交问题或功能建议。
  2. 创建 Pull Request:提交代码修改,帮助改进项目。

许可证

easyExcel 项目目前尚未选择许可证。如果您计划使用或分发该项目,请联系项目维护者以获取更多信息。

联系方式

  • 项目维护者:袁中义
  • 邮箱564165682@qq.com
  • 技术支持
    • 专业版私有部署:13681752161

希望这个 README 文件能够帮助您更好地理解和使用 easyExcel 项目。如果有任何进一步的需求或修改建议,欢迎随时提出。

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewExcelWriter

func NewExcelWriter(filename string) (*model.ExcelWriter, error)

Types

type EasyExcel

type EasyExcel struct {
	// contains filtered or unexported fields
}

func OpenFile

func OpenFile(filename string) (*EasyExcel, error)

func (*EasyExcel) Close

func (e *EasyExcel) Close() error

func (*EasyExcel) GetPictures

func (e *EasyExcel) GetPictures(sheet string) (map[string]*model.Picture, error)

func (*EasyExcel) GetRows

func (e *EasyExcel) GetRows(sheet string) ([]*model.SheetRow, error)

func (*EasyExcel) GetSheetList

func (e *EasyExcel) GetSheetList() ([]*model.WorkSheet, error)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL