Add support for creating Tables and applying tables styles (predefined ones or custom).
At this point, the formatting can be applied only to the whole cell content.
Add support for pivot tables.
Allow to password-protect a workbook, so that it cannot be shown (read) without the password.
Add support for array formulas (CellFormulaType "array"). These formulas can accept as parameters and return results containing whole arrays (one- or two- dimensional) of data. In MS Excel, such formulas are inserted with CTRL + SHIFT + Enter, and visualized enclosed with curly brackets ('{' and '}').
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)
Add API to get the list of ranges to which a defined name refers.
Example:
List<CellRange> ranges = workbook.Names["definedName"].Ranges;
CellSelection selection = worksheet.Cells[ranges];
The cell range referred by the defined name could be accessed using code similar to the following one:
foreach (var name in workbook.Names)
{
if (name.Name == givenName)
{
string[] v = name.RefersTo.Split("!".ToCharArray());
foreach (Worksheet sheet in workbook.Sheets)
{
if (sheet.Name.ToUpper() == v[0].Replace("=", String.Empty).ToUpper())
{
string rangeName = v[1];
string firstIndexName = rangeName.Split(":".ToCharArray())[0];
int rowIndex;
int columnIndex;
bool isRowAbsolute;
bool isColumnAbsolute;
bool nameRefersToIndex = NameConverter.TryConvertCellNameToIndex(firstIndexName, out isRowAbsolute, out rowIndex, out isColumnAbsolute, out columnIndex);
if (nameRefersToIndex)
{
sheet.Cells[rowIndex, columnIndex].SetValue(givenValue);
}
}
}
}
}
XLSB is binary format that should theoretically allow fast reading and writing to the file.
Allow the customers to work with Shape objects.
Currently, the numbers in a CSV file are parsed as numbers, and the leading zeros are lost. In MS Excel, leading zeros could be preserved when the values are imported as text using the more sophisticated text import wizard (http://www.upenn.edu/computing/da/bo/webi/qna/iv_csvLeadingZeros.html ). Workaround: The values could be extracted using a third-party (or custom) CSV parser, and inserted manually into the model, using CellSelection.SetValueAsText method (http://docs.telerik.com/devtools/document-processing/libraries/radspreadprocessing/working-with-cells/cell-value-types.html ).
IFERROR returns a value you specify if a formula evaluates to an error; otherwise, returns the result of the formula. A list of the supported functions is available at http://docs.telerik.com/devtools/document-processing/libraries/radspreadprocessing/features/formulas/functions This function can be implemented as a custom function. Check the following resources for more details on how to achieve that: - http://docs.telerik.com/devtools/document-processing/libraries/radspreadprocessing/features/formulas/custom-functions - https://github.com/telerik/xaml-sdk/tree/master/Spreadsheet/WPF/CustomFunctions
Implement support for form controls (Button, Combo Box, Check Box, Spin Button, List Box, Option Button, Group Box, Label, Scroll Bar).
Add support for strikethrough font effect for cell formatting. Currently this is not supported by the model and is omitted on import.
CellSelection.SetValue method causes memory leak of CellReferenceRangeExpression objects in some cases when cell value is referenced by formulas. The memory leak is small, but the remaining CellReferenceRangeExpression continue to listen to some events, causing performance issues when their number become large - the time to set the value increases with each set.
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.
Watermark in Excel: https://support.office.com/en-us/article/add-a-watermark-in-excel-a372182a-d733-484e-825c-18ddf3edf009
Add support for manual calculation option, which allows not to recalculate all the formulas on value change, but on manual request. MS Excel supports this feature in Formulas -> Calculation -> Calculation Options, with the following options: Automatic, Automatic Except for Data Tables, Manual.
Provide the customers with the ability to export workbooks to HTML files.