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.
Allow to password-protect a workbook, so that it cannot be shown (read) without the password.
Add support for pivot tables.
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);
}
}
}
}
}
Allow the customers to work with Shape objects.
XLSB is binary format that should theoretically allow fast reading and writing to the file.
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).
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 ).
Add support for strikethrough font effect for cell formatting. Currently this is not supported by the model and is omitted on import.
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.
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.