package xlsx import ( "bytes" "encoding/xml" . "gopkg.in/check.v1" ) type WorkbookSuite struct {} var _ = Suite(&WorkbookSuite{}) // Test we can succesfully unmarshal the workbook.xml file from within // an XLSX file and return a xlsxWorkbook struct (and associated // children). func (w *WorkbookSuite) TestUnmarshallWorkbookXML(c *C) { var buf = bytes.NewBufferString( ` Sheet1!$A$1533 `) var workbook *xlsxWorkbook workbook = new(xlsxWorkbook) err := xml.NewDecoder(buf).Decode(workbook) c.Assert(err, IsNil) c.Assert(workbook.FileVersion.AppName, Equals, "xl") c.Assert(workbook.FileVersion.LastEdited, Equals, "4") c.Assert(workbook.FileVersion.LowestEdited, Equals, "4") c.Assert(workbook.FileVersion.RupBuild, Equals, "4506") c.Assert(workbook.WorkbookPr.DefaultThemeVersion, Equals, "124226") c.Assert(workbook.BookViews.WorkBookView, HasLen, 1) workBookView := workbook.BookViews.WorkBookView[0] c.Assert(workBookView.XWindow, Equals, "120") c.Assert(workBookView.YWindow, Equals, "75") c.Assert(workBookView.WindowWidth, Equals, "15135") c.Assert(workBookView.WindowHeight, Equals, "7620") c.Assert(workbook.Sheets.Sheet, HasLen, 3) sheet := workbook.Sheets.Sheet[0] c.Assert(sheet.Id, Equals, "rId1") c.Assert(sheet.Name, Equals, "Sheet1") c.Assert(sheet.SheetId, Equals, "1") c.Assert(workbook.DefinedNames.DefinedName, HasLen, 1) dname := workbook.DefinedNames.DefinedName[0] c.Assert(dname.Data, Equals, "Sheet1!$A$1533") c.Assert(dname.LocalSheetID, Equals, "0") c.Assert(dname.Name, Equals, "monitors") c.Assert(workbook.CalcPr.CalcId, Equals, "125725") }