* Fixed issue #539 Fixed error opening excel file created in encoding different from UTF-8, added logging of possible errors when decoding XML if the function does not provide exit with an error
* Added test for CharsetReader
* Fixed #discussion_r359397878
Discussion: https://github.com/360EntSecGroup-Skylar/excelize/pull/540#discussion_r359397878
* Fixed go fmt
* go mod tidy and removed unused imports
* The code has been refactored
Fix#494
If a row is full, don't bother allocating a new one, just return it.
Use the last populated row as a hint for the size of new rows.
Simplify checkSheet to remove row map
* Allow access to more formula attributes in SetCellFormula
Make SetCellFormula variadic to not break API.
The new arguments are option arguments in which the type of
the formula and the ref attribute may be set.
These need to be set for an array formula to work.
* Add TestWriteArrayFormula to test optional parameters of SetCellFormula
TestWriteArrayFormula writes a document to the test directory that
contains array formulas that are used to calculate standard deviations.
The file also contains values calculated by the Go testcase, so the
results can be verified. It should be tested, if the array formula
works (i.e. shows a number, not an error) and that the values calculated
by the formula and those calculated by Go are the same.
workBookRelsWriter, drawingRelsWriter into relsWriter;
drawingRelsReader, workbookRelsReader, workSheetRelsReader into relsReader;
addDrawingRelationships, addSheetRelationships into addRels