zip

package
v0.0.0-...-8707e75 Latest Latest
Warning

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

Go to latest
Published: Nov 1, 2019 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type FileFilter

type FileFilter func(fileIndex int, file *zip.File) bool

type Unmarshaler

type Unmarshaler struct {
	Encoding     encoding.Encoding
	FileFilters  []FileFilter
	RowParseFunc func(string) []string
	GetSepFunc   func() string
	base.DataLoader
}

zip反序列化,按文件名顺序读取文件,根据文件后缀名选择反序列化工具; 目前支持excel(xls)、xml(html/htm/xml/xhtml)两种格式; Charset,默认utf-8; FileFilters,文件过滤器,返回false时跳过文件,可用于截取文件中的变量,并在后续itemFilters中设置到item里,比如文件名中可能存在的分类、日期等; RowParseFunc,行解析工具,目前支持csv格式的行转换 GetSepFunc,获取字段分割符 DataLoader.VarOrder,变量嵌套顺序,默认随机,excel文档固定按 sheet->row->col遍历,指定无效; DataLoader.WriteDate,写数据开关,因为zip包数据流通常非常大,暂时设置无效,统一不写数据; DataLoader.ItemFilters,目标对象元素过滤器,用于校验、处理元素,并可控制文件反序列化流程; 目标对象类型可使用tag xm:"zip:VarName pattern=” format=” timezone=”"获取文件相关信息,支持的var变量包括: FileName:string,文件名; Comment:string,文件备注; Modified:time.Time 文件修改日期,固定格式:2006-01-02 15:03:04; CompressedSize64:int64 压缩后大小; UncompressedSize64:int64 解压后大小;

func (*Unmarshaler) GetDoc

func (m *Unmarshaler) GetDoc(r io.Reader) (*zip.Reader, error)

打开zip,解码文件名,排序文件

func (*Unmarshaler) GetValue

func (m *Unmarshaler) GetValue(doc *zip.File, path string) (string, error)

func (*Unmarshaler) Unmarshal

func (m *Unmarshaler) Unmarshal(r io.Reader, data interface{}) error

Jump to

Keyboard shortcuts

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