{"text_format":"3","workbook":"xls","n_sheets":2,"sheets":["Read Me","Logical"],"not_rendered":{"external_links":1,"defined_names":5},"read":"whole","date_system":"1900","formulas":"cached_only"}

{"sheet":"Read Me","index":0,"n_rows":11,"n_cols":1,"rows_kept":11,"flags":["formulas_cached_only"]}
["This spreadsheet contains various test cases for logical  ISxxx functions: ISERROR, ISBLANK, etc."]
["Name of the main junit test class which uses this spreadsheet:"]
["org.apache.poi.ss.formula.functions.TestLogicalFunctionsFromSpreadsheet"]
["(The content of cell 'Read Me'!A3 is confirmed by the test)"]
[]
["Every sheet besides this first one contains formula evaluation test cases in a standardised format."]
["On row 4 of each sheet, in columns B,C,D there are the column headings \"Formula\", \"Expected Result\" and \"Comment\""]
["The test iterates down from row 5 onward  until a the text \"<end>\" is found in column A.   Rows with \"<skip>\" in column A are ignored (useful for currently unsupported behaviour).  Otherwise column A can be used for commenting the group of rows below. "]
["If the evaluated result of column B does not match the expected result in column C, the junit test will report a failure.  Test failures get annotated with the section and row comments, if any."]
["Besides the first 4 columns, row 5 onwards, the junit test does not inspect any other cells in the sheet.  The other cells can be used freely to set up test data."]
["Care should be taken to not only make the values in column C match those in column B, but also to make sure column C contains only simple literal values.  This can be achieved easily by 'pasting special' from column B to C, selecting the 'as values' option."]

{"sheet":"Logical","index":1,"n_rows":53,"n_cols":6,"rows_kept":53,"merged":[[9,3,12,3],[45,4,45,6]],"flags":["formulas_cached_only"]}
[null,"Sheet Comment:"]
[]
[null,"Formula","Expected Result","Comment","Data"]
[{"$nulls":3},"Count the number of Error values within a range",67]
[null,2,2,"convert  booleans to 0/1 by adding +0",23]
[null,2,2,"convert  booleans to 0/1 multiplying by *1",{"$error":"#N/A"}]
[null,2,2,"convert  booleans to 0/1 by double negation",{"$error":"#DIV/0!"}]
[{"$nulls":5},"blank"]
[null,false,false,null,""," =\"\""]
[null,false,false]
[null,true,true]
[null,true,true]
[null,false,false]
[null,false,false]
[]
[null,false,false]
[null,false,false]
[null,false,false]
[null,false,false]
[null,true,true]
[null,false,false]
{"$rows_empty":31}
["<end>"]