update
This commit is contained in:
20
worksheet.go
20
worksheet.go
@@ -19,14 +19,20 @@ type WorkSheet struct {
|
||||
bs *boundsheet
|
||||
wb *WorkBook
|
||||
Name string
|
||||
Rows map[uint16]*Row
|
||||
rows map[uint16]*Row
|
||||
//NOTICE: this is the max row number of the sheet, so it should be count -1
|
||||
MaxRow uint16
|
||||
parsed bool
|
||||
}
|
||||
|
||||
func (w *WorkSheet) Row(i int) *Row {
|
||||
row := w.rows[uint16(i)]
|
||||
row.wb = w.wb
|
||||
return row
|
||||
}
|
||||
|
||||
func (w *WorkSheet) parse(buf io.ReadSeeker) {
|
||||
w.Rows = make(map[uint16]*Row)
|
||||
w.rows = make(map[uint16]*Row)
|
||||
b := new(bof)
|
||||
var bof_pre *bof
|
||||
for {
|
||||
@@ -181,12 +187,12 @@ func (w *WorkSheet) addRange(rang Ranger, ch contentHandler) {
|
||||
func (w *WorkSheet) addContent(row_num uint16, ch contentHandler) {
|
||||
var row *Row
|
||||
var ok bool
|
||||
if row, ok = w.Rows[row_num]; !ok {
|
||||
if row, ok = w.rows[row_num]; !ok {
|
||||
info := new(rowInfo)
|
||||
info.Index = row_num
|
||||
row = w.addRow(info)
|
||||
}
|
||||
row.Cols[ch.FirstCol()] = ch
|
||||
row.cols[ch.FirstCol()] = ch
|
||||
}
|
||||
|
||||
func (w *WorkSheet) addRow(info *rowInfo) (row *Row) {
|
||||
@@ -194,11 +200,11 @@ func (w *WorkSheet) addRow(info *rowInfo) (row *Row) {
|
||||
w.MaxRow = info.Index
|
||||
}
|
||||
var ok bool
|
||||
if row, ok = w.Rows[info.Index]; ok {
|
||||
if row, ok = w.rows[info.Index]; ok {
|
||||
row.info = info
|
||||
} else {
|
||||
row = &Row{info: info, Cols: make(map[uint16]contentHandler)}
|
||||
w.Rows[info.Index] = row
|
||||
row = &Row{info: info, cols: make(map[uint16]contentHandler)}
|
||||
w.rows[info.Index] = row
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user