v2

package
v0.0.0-...-27046f6 Latest Latest
Warning

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

Go to latest
Published: May 19, 2023 License: MIT Imports: 13 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// 信息所在的行
	DataSheetHeader_FieldName = 0 // 字段名(对应proto)
	DataSheetHeader_FieldType = 1 // 字段类型
	DataSheetHeader_FieldMeta = 2 // 字段特性
	DataSheetHeader_Comment   = 3 // 用户注释
	DataSheetHeader_DataBegin = 4 // 数据开始
)
View Source
const (
	ColumnMajor_RowDataBegin = 1
	ColumnMajor_ColumnValue  = 4
)
View Source
const (
	// 信息所在的行
	TypeSheetRow_Pragma    = 0 // 配置
	TypeSheetRow_FieldDesc = 1 // 类型描述
	TypeSheetRow_Comment   = 2 // 字段名(对应proto)
	TypeSheetRow_DataBegin = 3 // 数据开始
)

Variables

This section is empty.

Functions

func Run

func Run(g *printer.Globals) bool

Types

type DataHeader

type DataHeader struct {

	// 按字段名分组索引字段, 字段不重复
	HeaderByName map[string]*model.FieldDescriptor
	// contains filtered or unexported fields
}

func (*DataHeader) AsymmetricEqual

func (self *DataHeader) AsymmetricEqual(other *DataHeader) (string, bool)

func (*DataHeader) Equal

func (self *DataHeader) Equal(other *DataHeader) (string, bool)

func (*DataHeader) FieldRepeatedCount

func (self *DataHeader) FieldRepeatedCount(fd *model.FieldDescriptor) (count int)

func (*DataHeader) ParseProtoField

func (self *DataHeader) ParseProtoField(index int, sheet *Sheet, localFD *model.FileDescriptor, globalFD *model.FileDescriptor) bool

检查字段行的长度

func (*DataHeader) RawField

func (self *DataHeader) RawField(index int) *model.FieldDescriptor

func (*DataHeader) RawFieldCount

func (self *DataHeader) RawFieldCount() int

type DataHeaderElement

type DataHeaderElement struct {
	FieldName string
	FieldType string
	FieldMeta string
	Comment   string
}

func (*DataHeaderElement) Parse

func (self *DataHeaderElement) Parse(def *model.FieldDescriptor, localFD *model.FileDescriptor, globalFD *model.FileDescriptor, headerByName map[string]*model.FieldDescriptor) int

type DataSheet

type DataSheet struct {
	*Sheet
}

func (*DataSheet) Export

func (self *DataSheet) Export(file *File, dataModel *model.DataModel, dataHeader, parentHeader *DataHeader) bool

func (*DataSheet) Valid

func (self *DataSheet) Valid() bool

type File

type File struct {
	LocalFD  *model.FileDescriptor // 本文件的类型描述表
	GlobalFD *model.FileDescriptor // 全局的类型描述表
	FileName string

	Header *DataHeader
	// contains filtered or unexported fields
}

1个电子表格文件

func NewFile

func NewFile(filename string, cacheDir string) (f *File, fromCache bool)

func (*File) CheckValueRepeat

func (self *File) CheckValueRepeat(fd *model.FieldDescriptor, value string) bool

func (*File) ExportData

func (self *File) ExportData(dataModel *model.DataModel, parentHeader *DataHeader) bool

func (*File) ExportLocalType

func (self *File) ExportLocalType(mainFile *File) bool

func (*File) GlobalFileDesc

func (self *File) GlobalFileDesc() *model.FileDescriptor

func (*File) IsVertical

func (self *File) IsVertical() bool

type Sheet

type Sheet struct {
	*xlsx.Sheet

	Row int // 当前行

	Column int // 当前列
	// contains filtered or unexported fields
}

描述一个表单

func NewSheet

func NewSheet(file *File, sheet *xlsx.Sheet) *Sheet

func (*Sheet) GetCellData

func (self *Sheet) GetCellData(cursor, index int) string

获取单元格 cursor=行, index=列

func (*Sheet) GetCellDataAsNumeric

func (self *Sheet) GetCellDataAsNumeric(cursor, index int) string

func (*Sheet) GetRC

func (self *Sheet) GetRC() (int, int)

取行列信息

func (*Sheet) IsFullRowEmpty

func (self *Sheet) IsFullRowEmpty(row, maxCol int) bool

整行都是空的

func (*Sheet) SetCellData

func (self *Sheet) SetCellData(cursor, index int, data string)

设置单元格

type TypeSheet

type TypeSheet struct {
	*Sheet
}

func (*TypeSheet) Parse

func (self *TypeSheet) Parse(localFD *model.FileDescriptor, globalFD *model.FileDescriptor) bool

解析所有的类型及数据

Directories

Path Synopsis
example
golang/table
Generated by github.com/davyxu/tabtoy Version: 2.9.0 DO NOT EDIT!!
Generated by github.com/davyxu/tabtoy Version: 2.9.0 DO NOT EDIT!!
Generated by github.com/davyxu/tabtoy Version: 2.7.4 DO NOT EDIT!!
Generated by github.com/davyxu/tabtoy Version: 2.7.4 DO NOT EDIT!!

Jump to

Keyboard shortcuts

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