Documentation ¶
Overview ¶
xls package use to parse the 97 -2004 microsoft xls file(".xls" suffix, NOT ".xlsx" suffix )
there are some example in godoc, please follow them.
Index ¶
- Constants
- Variables
- type BlankCol
- type CellRange
- type Col
- type Coler
- type Font
- type FontInfo
- type Format
- type FormulaCol
- type FormulaStringCol
- type HyperLink
- type LabelsstCol
- type MulBlankCol
- type MulrkCol
- type NumberCol
- type RK
- type Ranger
- type RkCol
- type Row
- type SstInfo
- type TWorkSheetVisibility
- type WorkBook
- func (w *WorkBook) GetRows(sheetName string) (res [][]string, err error)
- func (w *WorkBook) GetRowsIndex(index int) (res [][]string, err error)
- func (w *WorkBook) GetSheet(num int) *WorkSheet
- func (w *WorkBook) NumSheets() int
- func (w *WorkBook) Parse(buf io.ReadSeeker)
- func (w *WorkBook) ReadAllCells(max int) (res [][]string)
- type WorkSheet
- type Xf5
- type Xf8
- type XfRk
Examples ¶
Constants ¶
const MJD_0 float64 = 2400000.5
const MJD_JD2000 float64 = 51544.5
Variables ¶
var ErrIsInt = fmt.Errorf("is int")
Functions ¶
This section is empty.
Types ¶
type FormulaCol ¶
type FormulaCol struct { Header struct { Col IndexXf uint16 Result [8]byte Flags uint16 // contains filtered or unexported fields } Bts []byte }
func (*FormulaCol) String ¶
func (c *FormulaCol) String(wb *WorkBook) []string
type FormulaStringCol ¶ added in v0.0.3
func (*FormulaStringCol) String ¶ added in v0.0.3
func (c *FormulaStringCol) String(wb *WorkBook) []string
type HyperLink ¶
type HyperLink struct { CellRange Description string TextMark string TargetFrame string Url string ShortedFilePath string ExtendedFilePath string IsUrl bool }
hyperlink type's content
type LabelsstCol ¶
func (*LabelsstCol) String ¶
func (c *LabelsstCol) String(wb *WorkBook) []string
type MulBlankCol ¶
func (*MulBlankCol) LastCol ¶
func (c *MulBlankCol) LastCol() uint16
func (*MulBlankCol) String ¶
func (c *MulBlankCol) String(wb *WorkBook) []string
type Row ¶
type Row struct {
// contains filtered or unexported fields
}
Row the data of one row
func (*Row) Col ¶
Col Get the Nth Col from the Row, if has not, return nil. Suggest use Has function to test it.
func (*Row) ColExact ¶ added in v0.0.3
ColExact Get the Nth Col from the Row, if has not, return nil. For merged cells value is returned for first cell only
type TWorkSheetVisibility ¶ added in v0.0.3
type TWorkSheetVisibility byte
const ( WorkSheetVisible TWorkSheetVisibility = 0 WorkSheetHidden TWorkSheetVisibility = 1 WorkSheetVeryHidden TWorkSheetVisibility = 2 )
type WorkBook ¶
type WorkBook struct { Is5ver bool Type uint16 Codepage uint16 Xfs []st_xf_data Fonts []Font Formats map[uint16]*Format Author string // contains filtered or unexported fields }
xls workbook type
func Open ¶
Open one xls file
Example ¶
if xlFile, err := Open("Table.xls", "utf-8"); err == nil { fmt.Println(xlFile.Author) }
Output:
func OpenReader ¶
func OpenReader(reader io.ReadSeeker, charset string) (wb *WorkBook, err error)
Open xls file from reader
func OpenWithCloser ¶ added in v0.0.3
Open one xls file and return the closer
func (*WorkBook) GetRows ¶ added in v0.0.3
GetRows 读取指定 Sheet 的所有数据 该函数按照 excelize 的方式实现
Example ¶
Output: read the content of all cols in Table sheet
if xlFile, err := Open("Table.xls", "utf-8"); err == nil { if res, err := xlFile.GetRows("Table"); err == nil { for _, row := range res { for _, col := range row { fmt.Print(col) } fmt.Println() } } }
Output:
func (*WorkBook) GetRowsIndex ¶ added in v0.0.4
GetRowsIndex 读取指定 Sheet 的所有数据 该函数按照 excelize 的方式实现
func (*WorkBook) GetSheet ¶
Get one sheet by its number
Example ¶
Output: read the content of first two cols in each row
if xlFile, err := Open("Table.xls", "utf-8"); err == nil { if sheet1 := xlFile.GetSheet(0); sheet1 != nil { fmt.Print("Total Lines ", sheet1.MaxRow, sheet1.Name) col1 := sheet1.Row(0).Col(0) col2 := sheet1.Row(0).Col(0) for i := 0; i <= (int(sheet1.MaxRow)); i++ { row1 := sheet1.Row(i) col1 = row1.Col(0) col2 = row1.Col(1) fmt.Print("\n", col1, ",", col2) } } }
Output:
func (*WorkBook) NumSheets ¶
Get the number of all sheets, look into example
Example ¶
if xlFile, err := Open("Table.xls", "utf-8"); err == nil { for i := 0; i < xlFile.NumSheets(); i++ { sheet := xlFile.GetSheet(i) fmt.Println(sheet.Name) } }
Output:
func (*WorkBook) Parse ¶
func (w *WorkBook) Parse(buf io.ReadSeeker)
func (*WorkBook) ReadAllCells ¶
helper function to read all cells from file Notice: the max value is the limit of the max capacity of lines. Warning: the helper function will need big memeory if file is large.
type WorkSheet ¶
type WorkSheet struct { Name string Selected bool Visibility TWorkSheetVisibility //NOTICE: this is the max row number of the sheet, so it should be count -1 MaxRow uint16 // contains filtered or unexported fields }
WorkSheet in one WorkBook