package main

import (
	"log"
	"math/rand"

	"go.devnw.com/ooxml/spreadsheet"
)

func main() {
	ss := spreadsheet.New()
	sheet := ss.AddSheet()

	row := sheet.AddRow()
	row.AddCell()
	for i := 0; i < 99; i++ {
		row.AddCell().SetString("Header")
	}
	for i := 0; i < 100; i++ {
		row = sheet.AddRow()
		row.AddCell().SetString("Header")
		for j := 0; j < 99; j++ {
			row.AddCell().SetNumber(rand.Float64() * 100)
		}
	}

	// freeze the first row and column
	sheet.SetFrozen(true, true)

	/* this is equivalent to
	v := sheet.InitialView()
	v.SetState(sml.ST_PaneStateFrozen)
	v.SetYSplit(1)
	v.SetXSplit(1)
	v.SetTopLeft("B2")
	*/

	if err := ss.Validate(); err != nil {
		log.Fatalf("error validating sheet: %s", err)
	}

	ss.SaveToFile("freeze-rows-cols.xlsx")
}
