Documentation
¶
Overview ¶
Package excel 提供基于模板的 Excel 导入导出:泛型列表导出/导入, 依赖用户预调好的 .xlsx 模板文件(样式/格式/公式),数据区域按行填充。 映射规则:struct tag `excel:"列名"` 匹配模板表头;无 tag 时用字段名匹配。
Index ¶
- func Export[T any](tpl Template, data []T, writer io.Writer) error
- func ExportBatch[T any](tpl Template, data []T, outputPath string, batch BatchConfig) error
- func ExportBatchToWriter[T any](tpl Template, data []T, writer io.Writer, batch BatchConfig) error
- func ExportMultiSheet[T any](sheets []SheetData[T], outputPath string) error
- func ExportToFile[T any](tpl Template, data []T, outputPath string) error
- func Import[T any](tpl Template, reader io.Reader) ([]T, error)
- func ImportFromFile[T any](tpl Template, inputPath string) ([]T, error)
- type BatchConfig
- type RowError
- type SheetData
- type Template
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Export ¶
Export 将泛型数据列表按模板填充到 writer(返回 .xlsx 字节流)。 模板的数据区域从 DataStartRow 开始,每行对应 data 的一项,列序按模板表头匹配。
func ExportBatch ¶ added in v1.54.0
func ExportBatch[T any](tpl Template, data []T, outputPath string, batch BatchConfig) error
ExportBatch 分批写入大量数据,降低内存峰值。 每批写入 BatchSize 行后调 f.Save() 刷盘;OnProgress 回调进度。 适用于万行以上导出场景(HTTP 请求异步生成文件,前端轮询进度)。
func ExportBatchToWriter ¶ added in v1.54.0
ExportBatchToWriter 分批写入到 io.Writer(流式 HTTP 下载场景)。 与 ExportBatch 类似,但输出到 Writer 而非文件。
func ExportMultiSheet ¶ added in v1.54.0
ExportMultiSheet 将多个 sheet 的数据一次性导出到同一 Excel 文件。 每个 sheet 使用各自的模板配置(可为不同模板文件或同一文件不同 sheet)。
func ExportToFile ¶
ExportToFile 将泛型数据列表按模板填充到输出文件。
Types ¶
type BatchConfig ¶ added in v1.54.0
type BatchConfig struct {
// BatchSize 每批写入行数(默认 1000);0 表示不分批。
BatchSize int
// OnProgress 进度回调(已写入行数,总行数),nil 不回调。
OnProgress func(written, total int)
}
BatchConfig 分批写入配置。
Click to show internal directories.
Click to hide internal directories.