Allow to password-protect a workbook, so that it cannot be shown (read) without the password.
Add support for preserving and exporting the macros in a macro-enabled workbook. Macros are pieces of code written in Visual Basic for Applications (VBA) which are used to automate repetitive tasks in excel. The macros are part of the excel file. When a file contains a macro its extension becomes xlsm. SpreadProcessing should be able to import and export xlsm files and edit the macros in them.
Implement support for cell references to columns and rows, e.g. $1:$2, A:D, etc. Currently, CellSelection.SetValue throws ParseException, and CellSelection.SetValueAsFormula throws InvalidOperationException.
Add support for Hidden and Empty Cells options:
With the current implementation, references like in the following expression cannot be evaluated and are treated as strings: =SUM('C:\Users\Your user name\Desktop\[Workbook_1.xlsx]Sheet1'!A1:B2)
Provide the ability to work with images in headers/footers of a worksheet. Note that large images put in headers are visualized as watermarks on printing/exporting to PDF.
The row declaration is the following: <row r="8" spans="1:18" ht="15.75" x14ac:dyDescent="0.25"> The dyDescent attribute is described as follows: The dyDescent attribute is a double attribute, as specified in [XMLSCHEMA2/2] section 3.2.5, that specifies the vertical distance in pixels from the bottom of the cells in the current row to the typographical baseline of the cell content if, hypothetically, the zoom level for the sheet containing this row is 100 percent and the cell has bottom-alignment formatting. See section 18.104.22.168 for how this element integrates with the Office Open XML file formats specified in [ISO/IEC29500-1:2016]. The dyDescent attribute has a side effect; it sets the customHeight attribute to true even if the customHeight attribute is explicitly set to false. Note: Since the dyDescent attribute is not implemented, the height is not recognized to be custom and therefore it is not imported at all. The row has the default height.
One of the options grouped under alignment is Shrink to Fit. Shrink to fit will automatically reduce the font size until text fits in a cell.