excel

package
v1.0.1 Latest Latest
Warning

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

Go to latest
Published: Mar 16, 2025 License: MIT Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ApplyStyleHeaders

func ApplyStyleHeaders(file *excelize.File, sheetName string, headers TableHeaders) error

func DeleteDefaultSheet

func DeleteDefaultSheet(file *excelize.File) error

func ExportEntitiesToSpreadsheet

func ExportEntitiesToSpreadsheet(filename string, exporters ...ExporterInterface) error

func ExportEntityToSpreadsheet

func ExportEntityToSpreadsheet[T any](file *excelize.File, sheetName string, entity T, provider func() ([]any, error)) error

func GetCellNameByIndices

func GetCellNameByIndices(column int, row int) (string, error)

func GetHeaderCellNameByIndex

func GetHeaderCellNameByIndex(column int) (string, error)

func GetStyleId

func GetStyleId(f *excelize.File, style *excelize.Style) (int, error)

func ImportEntitiesFromSpreadsheet

func ImportEntitiesFromSpreadsheet(path string, importers ...Importer) error

func ImportFromSpreadsheet

func ImportFromSpreadsheet(filepath string, importer Importer) error

func LoadDataStyle

func LoadDataStyle(file *excelize.File) (int, error)

func LoadHeadersStyle

func LoadHeadersStyle(file *excelize.File) (int, error)

func SerializeNestedField

func SerializeNestedField(fieldInfo reflect.StructField, fieldValue reflect.Value) (*string, error)

func WriteData

func WriteData(file *excelize.File, filename string) error

Types

type Exporter

type Exporter[T any] struct {
	SheetName string
	Entity    T
	Provider  func() ([]*T, error)
}

func (Exporter[T]) GetEntity

func (e Exporter[T]) GetEntity() any

func (Exporter[T]) GetProvider

func (e Exporter[T]) GetProvider() func() ([]any, error)

func (Exporter[T]) GetSheetName

func (e Exporter[T]) GetSheetName() string

type ExporterInterface

type ExporterInterface interface {
	GetSheetName() string
	GetEntity() any
	GetProvider() func() ([]any, error)
}

type Importer

type Importer struct {
	SheetName       string
	Loader          func(rowIndex int, row []string) error
	StartFromRowIdx int
}

type TableHeaders

type TableHeaders struct {
	Headers              []string
	IgnoredFieldsIndexes []int
}

func ExportHeaders

func ExportHeaders(entity any) (TableHeaders, error)

func WriteHeaders

func WriteHeaders(sheetName string, entity any, file *excelize.File) (TableHeaders, error)

Jump to

Keyboard shortcuts

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