Documentation ¶
Index ¶
- Constants
- func GetAxis(colIndex, rowIndex int) string
- func GetColAxis(colIndex int) string
- func InRangeWide(rangeStart, rangeEnd, target int) bool
- type CellMergeRule
- type CellMergeSetting
- type ExcelDataCsv
- type ExcelDataDirect
- type ExcelDataMap
- func NewExcelDataMap(titles, rows []map[string]interface{}, titleIndex []map[string]int) (*ExcelDataMap, error)
- func NewExcelDataMapByTitles(titles ExcelDataTitleObjectArr, rows []map[string]interface{}) *ExcelDataMap
- func NewExcelDataMapExtraOrder(titles, rows []map[string]interface{}, orderTitles [][]string) (*ExcelDataMap, error)
- func NewExcelDataMapFixedTitles(orderTitles [][]interface{}, rows []map[string]interface{}) (*ExcelDataMap, error)
- func NewExcelDataMapNoOrder(titles, rows []map[string]interface{}) (*ExcelDataMap, error)
- func NewExcelDataMapOneTitle(title map[string]interface{}, rows []map[string]interface{}, ...) (*ExcelDataMap, error)
- type ExcelDataTitleObject
- type ExcelDataTitleObjectArr
- type ExcelParser
- type ExcelParserResToExcel
- func (res *ExcelParserResToExcel) AddMergeSetting(mergeSetting CellMergeSetting) *ExcelParserResToExcel
- func (res *ExcelParserResToExcel) AddTitleMerge() *ExcelParserResToExcel
- func (res *ExcelParserResToExcel) SetMerge(mergeSettings []CellMergeSetting) *ExcelParserResToExcel
- func (res *ExcelParserResToExcel) SetStyle(titleStyle, cellStyle string) *ExcelParserResToExcel
- func (res *ExcelParserResToExcel) SetStyleAll(style string) *ExcelParserResToExcel
- func (res *ExcelParserResToExcel) SetTitleNoStyle() *ExcelParserResToExcel
- func (res *ExcelParserResToExcel) Write(writer io.Writer) error
- func (res *ExcelParserResToExcel) WriteToFile(fileName string) error
- type ExcelResDecoration
- type IToExcelData
- type MergeType
Constants ¶
const ( DefaultSheetName = "Sheet1" DefaultStyleTitle = `{"font":{"bold":true},"alignment":{"horizontal":"center","vertical":"center"}}` DefaultStyleCell = `{"alignment":{"vertical":"center"}}` )
Variables ¶
This section is empty.
Functions ¶
Types ¶
type CellMergeSetting ¶
type CellMergeSetting struct { Typ MergeType //合并类型 RangeAll bool //不限范围 RangeIndex []int //范围 -1为不限 行合并时,这里是行下标 列合并时,这里是列下标 行和列都有时(先行后列): all = [-1,-1,-1,-1] Rule CellMergeRule //合并规则 默认是 DefaultMergeRule }
单元格合并的设置
func (*CellMergeSetting) MergeCells ¶
func (m *CellMergeSetting) MergeCells(file *excelize.File, sheetName string) error
进行合并
type ExcelDataCsv ¶
type ExcelDataCsv struct { Titles [][]interface{} Rows [][]interface{} // contains filtered or unexported fields }
map格式的数据 标题和数据都是map格式的数组,数据按照 key值映射 使用时需使用 New系列方法创建,直接使用结构体的话可能会造成数据错误的问题
func NewExcelDataCsv ¶
func NewExcelDataCsv(csvPath string, titleLength int) (*ExcelDataCsv, error)
func NewExcelDataCsvData ¶
func NewExcelDataCsvData(csvData string, titleLength int) (*ExcelDataCsv, error)
func (*ExcelDataCsv) GetData ¶
func (o *ExcelDataCsv) GetData() [][]interface{}
func (*ExcelDataCsv) GetTitles ¶
func (o *ExcelDataCsv) GetTitles() [][]interface{}
func (*ExcelDataCsv) GetWidth ¶
func (o *ExcelDataCsv) GetWidth() int
type ExcelDataDirect ¶
type ExcelDataDirect struct { Titles [][]interface{} Rows [][]interface{} // contains filtered or unexported fields }
map格式的数据 标题和数据都是map格式的数组,数据按照 key值映射 使用时需使用 New系列方法创建,直接使用结构体的话可能会造成数据错误的问题
func NewExcelDataDirect ¶
func NewExcelDataDirect(titles [][]interface{}, rows [][]interface{}) *ExcelDataDirect
func NewExcelDataDirectOneTitle ¶
func NewExcelDataDirectOneTitle(title []interface{}, rows [][]interface{}) *ExcelDataDirect
func (*ExcelDataDirect) GetData ¶
func (o *ExcelDataDirect) GetData() [][]interface{}
func (*ExcelDataDirect) GetTitles ¶
func (o *ExcelDataDirect) GetTitles() [][]interface{}
func (*ExcelDataDirect) GetWidth ¶
func (o *ExcelDataDirect) GetWidth() int
type ExcelDataMap ¶
type ExcelDataMap struct {
// contains filtered or unexported fields
}
map格式的数据 标题和数据都是map格式的数组,数据按照 key值映射 使用时需使用 New系列方法创建,直接使用结构体的话可能会造成数据错误的问题 使用map格式 就以title为主了 map格式数据不支持没有标题的数据
func NewExcelDataMap ¶
func NewExcelDataMap(titles, rows []map[string]interface{}, titleIndex []map[string]int) (*ExcelDataMap, error)
按照最原始的数据新建
func NewExcelDataMapByTitles ¶
func NewExcelDataMapByTitles(titles ExcelDataTitleObjectArr, rows []map[string]interface{}) *ExcelDataMap
使用object方式创建 适用于确定标题,对象数据的情况
func NewExcelDataMapExtraOrder ¶
func NewExcelDataMapExtraOrder(titles, rows []map[string]interface{}, orderTitles [][]string) (*ExcelDataMap, error)
titles rows 为数据 均是 key:value orderTitles 为固定的title key值
func NewExcelDataMapFixedTitles ¶
func NewExcelDataMapFixedTitles(orderTitles [][]interface{}, rows []map[string]interface{}) (*ExcelDataMap, error)
rows 为数据 orderTitles 为指定的标题,rows是按照最后一行的 标题为key值
func NewExcelDataMapNoOrder ¶
func NewExcelDataMapNoOrder(titles, rows []map[string]interface{}) (*ExcelDataMap, error)
按照最原始的数据新建
func NewExcelDataMapOneTitle ¶
func NewExcelDataMapOneTitle(title map[string]interface{}, rows []map[string]interface{}, titleIndex map[string]int) (*ExcelDataMap, error)
rows 为数据 orderTitles 为指定的标题,rows是按照最后一行的 标题为key值
func (*ExcelDataMap) GetData ¶
func (o *ExcelDataMap) GetData() [][]interface{}
func (*ExcelDataMap) GetTitles ¶
func (o *ExcelDataMap) GetTitles() [][]interface{}
func (*ExcelDataMap) GetWidth ¶
func (o *ExcelDataMap) GetWidth() int
type ExcelDataTitleObject ¶
type ExcelDataTitleObjectArr ¶
type ExcelDataTitleObjectArr []ExcelDataTitleObject
func (ExcelDataTitleObjectArr) ToMapTitle ¶
func (arr ExcelDataTitleObjectArr) ToMapTitle() (map[string]interface{}, map[string]int)
type ExcelParser ¶
type ExcelParser struct {
// contains filtered or unexported fields
}
解释器(单sheet的)
func (*ExcelParser) ToExcel ¶
func (c *ExcelParser) ToExcel(data IToExcelData) *ExcelParserResToExcel
转换文件内容
type ExcelParserResToExcel ¶
type ExcelParserResToExcel struct {
// contains filtered or unexported fields
}
导出的返回值
func (*ExcelParserResToExcel) AddMergeSetting ¶
func (res *ExcelParserResToExcel) AddMergeSetting(mergeSetting CellMergeSetting) *ExcelParserResToExcel
添加合并规则
func (*ExcelParserResToExcel) AddTitleMerge ¶
func (res *ExcelParserResToExcel) AddTitleMerge() *ExcelParserResToExcel
设置默认的行单元格合并
func (*ExcelParserResToExcel) SetMerge ¶
func (res *ExcelParserResToExcel) SetMerge(mergeSettings []CellMergeSetting) *ExcelParserResToExcel
设置应用单元格合并规则的位置 一般创建标题合并规则(NewTitleMerge())
func (*ExcelParserResToExcel) SetStyle ¶
func (res *ExcelParserResToExcel) SetStyle(titleStyle, cellStyle string) *ExcelParserResToExcel
设置样式 不设置的时候,使用默认样式 默认样式: title: 居中、加粗 rows: 无
func (*ExcelParserResToExcel) SetStyleAll ¶
func (res *ExcelParserResToExcel) SetStyleAll(style string) *ExcelParserResToExcel
设置样式 这里部分标题和数据 设置的是全部的
func (*ExcelParserResToExcel) SetTitleNoStyle ¶
func (res *ExcelParserResToExcel) SetTitleNoStyle() *ExcelParserResToExcel
第三方库不支持按row设置 这里自己遍历
func (*ExcelParserResToExcel) Write ¶
func (res *ExcelParserResToExcel) Write(writer io.Writer) error
数据导出
func (*ExcelParserResToExcel) WriteToFile ¶
func (res *ExcelParserResToExcel) WriteToFile(fileName string) error
导出为文件
type ExcelResDecoration ¶
type ExcelResDecoration func(res *ExcelParserResToExcel) *ExcelParserResToExcel
装饰器
type IToExcelData ¶
type IToExcelData interface { GetTitles() [][]interface{} //标题行 GetData() [][]interface{} //数据行 GetWidth() int //矩阵的数据的宽 }
表格数据 数据行中直接使用 time.Time的时候需要使用UTC时区的